• ベストアンサー

VBAによるセル検索

 No. 氏名 住所 支払日 担当者 購入機材  1   A  大阪 2/1 N村 Xタイプ  2 B 京都 5/8 T田 Yタイプ  3 c 兵庫 8/4 F崎 Wタイプ 1   A  大阪 3/1 N村 Xタイプ  2 B 京都 6/8 T田 Yタイプ  3 c 兵庫 9/4 F崎 Wタイプ VBAを勉強しています。 シート1に上記のようにセルA1から顧客No. 氏名 住所 支払日 担当者 購入機材の順番で並んでいます。 シート2で顧客No.を入力すると、その顧客番号が付いた行全てが表示されるVBAを教えて下さい。 顧客No.1はAさん、2はBさん、3はCさんとしています。

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

やり方としては (1)全行総なめ法 (2)Findメソッド利用 (3)Matchワークシート関数利用 など思いつきますが、VBAを勉強ということらしいので、(1) をやってみます。 Sub test01() Dim sh1 As Worksheet Dim sh2 As Worksheet Set sh1 = Worksheets("Sheet1") Set sh2 = Worksheets("Sheet2") d = sh1.Range("A65536").End(xlUp).Row k = 2 For i = 2 To d If sh1.Cells(i, "A") = sh2.Cells(1, "A") Then For j = 1 To 6 sh2.Cells(k, j) = sh1.Cells(i, j) Next j k = k + 1 End If Next End Sub Sheet2は第1行にSheet1の第1行をコピーして置いてください。 (VBAでもできますが)。 質問例でテスト済み。 他にも応用が広いコードと思います。 実行前に、条件とする顧客番号は、Sheet2のA1に入れてください。

その他の回答 (1)

  • yokomaya
  • ベストアンサー率40% (147/366)
回答No.1

勉強なさっているのでしたらその様に丸投げする事はけして貴方の為にならないと思います。やはり自分ではここまで作ったがここの点が解らない等自らのコードを示すべきでしょう。答える方も答えやすいし何より全部を一度に聞いて理解出来るものではないです。自らの努力と併せる事で一歩ずつ着実に身につけて行く事をお勧めします。

関連するQ&A