• ベストアンサー

エクセルで、次のような自動入力をしたい

  A    B    C    D   E  ・・ AA 1 田中 鈴木 佐藤          山田 2 鈴木 山田              海岡 3 田中 佐藤              佐藤 というような表があり、AAの列に名前を入力したとき、 D1に「山田」、C2「海岡」と、その行に関してAA列に新規の名前が入力されたときにD1,C2に自動入力することは、VBAで簡単にできますか? 3列目には「佐藤」さんがすでいるので入力不要です。 よろしくお願いします。(マクロ初心者です)

質問者が選んだベストアンサー

  • ベストアンサー
  • kamejiro
  • ベストアンサー率28% (136/479)
回答No.2

#1です。回答してから誤りに気付きました。訂正します。 7行目 「If i = 26 Then」 →「If j = 26 Then」です。 というわけです。

yastaro
質問者

お礼

kamejiroさん、ありがとうございました。完璧&感動です。一生懸命悩んだことがシンプルな内容のVBAでこんなにあっさりできることにも驚きです。本当にありがとうございました。

その他の回答 (1)

  • kamejiro
  • ベストアンサー率28% (136/479)
回答No.1

Office2003でちょっと確認してみました。 Sub テスト() i = 1 Do Until Cells(i, 27) = ""   j = 1   flg = ""   Do Until flg = "END"     If i = 26 Then       flg = "END"     End If     If Cells(i, j) = Cells(i, 27) Then       flg = "END"     End If     If Cells(i, j) = "" Then       Cells(i, j) = Cells(i, 27)       flg = "END"     End If     j = j + 1     Loop   i = i + 1 Loop End Sub というようなマクロではいかがですか?。 お確かめ下さい。

関連するQ&A

  • エクセルで自動入力をマクロで・・・(No.1798323の応用編)

    応用が効かなくて申し訳ありません。 1798323で素敵なご回答をいただいたのですが、 状況が進展して変わってくるとVBAの書き換えがわからなくなりました。もう一度教えてください。 ※変更点は、入力元がAI列、『入力先をQ~V列に限定』したい点です。   Q    R    S    T   U V・・ AI 1 田中 鈴木 佐藤          山田 2 鈴木 山田              海岡 3 田中 佐藤              佐藤 というような表があり、T1に「山田」、S2「海岡」と、その行に関してAI列に新規の名前が入力されたときに自動入力することをVBAでどのように書けばよいのか、ご教授お願いいたします。 尚、3行目には「佐藤」さんがすでいるので入力不要です。 よろしくお願いします。

  • エクセルのデータ並べ替え(抽出)の方法

    エクセルのデータ並べ替え(抽出)の方法 を教えてください。 下記のようなデータがあるとします。   A    B    C   D 1 田中  東京  千葉  福岡 2 山田  京都  滋賀 3 佐藤  奈良  青森  USA 4 鈴木  カナダ 愛媛 A列は名前、B列以降は文字列です。B列以降はC列までの行、D列までの行とさまざまです。重複セルはありません。 これを下記のように並べ替えたいです。   A    B    C   D 1東京  田中 2千葉  田中 3福岡  田中 4京都  山田 5滋賀  山田 6奈良  佐藤 7青森  佐藤 8USA   佐藤 9カナダ 鈴木 10愛媛  鈴木 こういうことは可能でしょうか??? 教えてください。 よろしくお願いします。

  • excelオートフィルタの検索条件をセルに入力したい

    以下のようなexcelのリストがあるとします。     A       B    C~ 1 佐藤・鈴木  Aタイプ 2 田中・山田  Bタイプ 3  佐藤     Aタイプ 4  田中     Cタイプ 5 山田・鈴木  Cタイプ A列の"田"が含まれる行を抽出したい場合 オートフィルタをかけ、オプションの抽出条件の指定で "田"を含む、で検索すれば良い、というのはわかります。 ですが、この動作をもうちょっと簡単にできないかと思っています。 具体的には、以下のようにセルに入力して検索・抽出するとはできないでしょうか。     A       B    C~ 1   田 2 3 4   A       B    C~ 6 田中・山田  Bタイプ 8  田中     Cタイプ 9 山田・鈴木  Cタイプ (1、2行目=検索用 3行目=空き 4行目以降=リスト) 過去の質問で、同じようにセルに入力して抽出する方法を 聞いていた方がいらっしゃったので参考にしようと思ったのですが 方法がVBAを使ったもので、VBAの知識がまったく無いために さっぱり理解することができませんでした。 何か良い方法がありましたら教えていただけないでしょうか。

  • エクセルのセルに入力した名前を数値化

    どなたかご教授頂ければ幸いです。 エクセルの文字列(一覧表)に 田中 田中 鈴木 鈴木 佐藤 田中 田中 佐藤 佐藤 鈴木 佐藤 佐藤 と入力されているものを 集計表に 田中・・・4 鈴木・・・3 佐藤・・・5 とし、集計したいのですが、 名前を数値に読み替える方法がわかりません。 良い方法があればお教えください。 部下の月次訪問件数を容易に集計する方法を模索中です。 余計な入力を部下にさせたくないので、プルダウンで自身の 名前を選ぶだけで入力を完了とし、別の場所に作った 集計表に数値(件数)となって落ちていくものを作りたいと考えています。 よろしくお願いします。

  • セルに入力があったら別のシートに自動で入力させたい

    似たような質問もあり自分でもいろいろ調べたのですが、 解決できなかったのでお願いします。 エクセルは2011で少し使える程度、あまり詳しくはありません。 シート1に「名前」「一回目」「二回目」という列があります。 そこの「一回目」の列に入力があった場合のみ別のシート2に自動で入力(抽出)されるようにしたいです。 例としてはこんなかんじです。↓ シート1 名前  一回目  二回目 佐藤  1         山田       1    鈴木       1 田中  2           とあったら、「一回目」に入力があった行からシート2に シート2 名前  点数 佐藤  50 田中  100 こんなかんじでシート2には「名前」と「一回目」に入力された数値に50掛けたものが自動で表示されるようにしたいのですが、 このようなことは可能でしょうか? 説明がわかりにくいかも知れませんがよろしくお願いします。

  • EXCELマクロVBAについて

    Excel2007、XPを使用しています。 AからE列に下記のような情報が入力されています。 A / B / C / D / E ID / 名前 / 住所 / 電話 / 注文日 11111 / 田中 / 東京都 / 00000000000 / 2012/08/10 11111 / 田中 / 東京都 / 00000000000 / 2012/08/09 11111 / 田中 / 東京都 / 00000000000 / 2012/08/18 11112 / 佐藤 / 京都府 / 00000000000 / 2012/08/10 11113 / 鈴木 / 北海道 / 00000000000 / 2012/08/11 11113 / 鈴木 / 北海道 / 00000000000 / 2012/08/15 A列のIDでくくったとして、 E列の注文日が最大のみの行を表示させたいです。 A / B / C / D / E ID / 名前 / 住所 / 電話 / 注文日 11111 / 田中 / 東京都 / 00000000000 / 2012/08/18 11112 / 佐藤 / 京都府 / 00000000000 / 2012/08/10 11113 / 鈴木 / 北海道 / 00000000000 / 2012/08/15 このようなことはマクロで可能なのでしょうか? 恐れ入りますがご教授お願い致します。

  • エクセルのマクロでセルに入力されているセル番地に貼り付け?

    エクセルのマクロで質問です。 下記のように入力されています   A    B    C    D 1 あ   田中  2000  N3   2 い   中嶋  1500  Q3 3 う   吉田  1600  U3 4 え   石川  1800  N11 5 お   横山  1500  Q11 6 か   鈴木  1600  U11 7 き   中村  2500  N19 8 く   山田  1200  Q19 9 け   橋本  1400  U19 ・・・・(500行くらいあります) この表のA1:C1をN3に行列を入換えて貼り付け、 A2:C2をQ3に行列を入換えて貼り付け・・・ のように、ABC列の内容を、D列に入力されているセル番地に貼り付けたいのです。 INDIRECT関数など使ってみましたが、どうにも出来そうにありません。 これをなんとかマクロで出来ないものでしょうか。 困ってます。お願いします。

  • エクセルで2つの条件を元に

    エクセル2007で名簿を作っています。 1ヶ月ごとにメンバーの順が変わります。 シート1(番号順に名簿を作りました)   A  B   C  1 1     山田 2 2     木村 3 3 副長 佐藤 4 4     鈴木 5 5 班長 田中 6 6     長田  シート2(こちらがメンバーに配る名簿です)   A   B  C   D 1 班長    1    3 2 田中    山田  鈴木 3 4 副長    2    4 5 佐藤    木村  長田 A2に田中,A5に佐藤を選んでくるのはvlookupで成功しました。 質問したいのは C列D列に上記の番号のようにシート1の名前を入れていきたいのですが,田中,佐藤の分を抜いた上で番号の若い順に選んできたいのです。 どのような関数をどのように使えば成功するでしょうか。  

  • EXCELの関数の入力の仕方

    私の知識不足の為どうすればいいのか困っています。どうぞお願いします。 シート1に   | A  | B | C | D | --|-----|----|----|----|--- 1 |田中 |   |   |   | --|-----|----|----|----|--- 2 |佐藤 |   |   |   | --|-----|----|----|----|--- 3 |鈴木 |   |   |   | --|-----|----|----|----|--- 4 |山田 |   |   |   | シート2に   | A  | B | C | D |  E |  F    --|-----|----|----|----|----|---- 1 |    | 1  | 2  | 3  | 4   | 5 --|-----|----|----|----|----|---- 2 |田中 |   |   |   |   |   --|-----|----|----|----|----|---- 3 |佐藤 |    |   |    |   |   --|-----|----|----|----|----|---- 4 |鈴木 |    |   |    |   |  --|-----|----|----|----|----|---- 5 |山田 |    |   |    |   | とあったとします。(シート2の横に並んだ数字は日にちです。) (シート1は入力用シート、シート2は印刷用シートとして使います。) 例題として、田中さんは2日と3日が入院。5日が外出すると仮定して、 シート1のB1に"2n"、C1に"3n"、D1に"5g"と入力したら、 シート2のC2に"入"、D2も"入"、F2が"外"と表示させたいの です。 色々試行錯誤しましたが、一向にできず、困っています。 お手すきの時がありましたら、回答お願い致します。

  • Excel2003でセル内の一部の文字をまとめて消去したい

    佐藤一郎・田中次郎 鈴木一太郎・山田三郎      ・       ・ と、ひとつのセル内に名前が二つ・を挟んで入力 されていて、同じ列に並んでいます(A1~A100の様に) セル内の右(または左)の名前と・をA1~A100迄 いっぺんに消去したいのですがマクロまたはVBAで 出来るのでしょうか。 どなたかご教示を。

専門家に質問してみよう