- 締切済み
VLOOKUPをマクロで行いたい
お世話になります。 画像の、Sheet1の担当者、商品名、受注額、売上月の内容を 別ブックのマスタシートからVLOOKUPをつかって転記しています。 これをマクロ化させたいと思っています。 どなたかご教授をお願い致します。 マクロ初心者ですので、コードの解説をして頂くとありがたいです。 よろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- imogasi
- ベストアンサー率27% (4737/17069)
2つの方法がある。 下記(1)は、VBAをやる人の常識だろう。 (1)VLOOKUP関数をそのまま利用法 Match関数でも、同様に、できるだろう。 (2)同様のことをVBAの処理でやる。Find法 (3)下記例でForNextでE列を総なめして、該当行を探す。 初心者的なので、一応、説明から除外。 ーー 例データ A1:B7 府県 コード(結果)<--当初は空白 東京都 神奈川県 千葉県 富山県 群馬県 群馬県 ーー 参照テーブル E1:F11 テーブル 府県 コード 茨城県 8 栃木県 9 群馬県 10 埼玉県 11 千葉県 12 東京都 13 神奈川県 14 新潟県 15 富山県 16 ーーーーー 標準モジュールに Sub test02() lr = Range("A100000").End(xlUp).Row For i = 2 To lr x = Cells(i, "A") y = Application.WorksheetFunction.VLookup(x, Range("E1:F100"), 2, False) Cells(i, "B") = y Next i End Sub ーーー 結果 A:B列 府県 コード結果 東京都 13 神奈川県 14 千葉県 12 富山県 16 群馬県 10 群馬県 10 ==== (2) 標準モジュールに Sub test01() lr = Range("A100000").End(xlUp).Row For i = 2 To lr 'MsgBox Cells(i, "A") Set x = Range("E1:E100").Find(what:=Cells(i, "A")) 'MsgBox x.Address Cells(i, "B") = x.Offset(0, 1) Next i End Sub === 質問者は、少数のデータ例ぐらい挙げて質問のこと。
- kkkkkm
- ベストアンサー率66% (1727/2597)
画像がありません。 回答されたコードを見てどのような動きなのか自分で調べるという気は無いのですか?