- ベストアンサー
VBA初心者です
例 sheet1 sheet2 商品名 | 金額 | 果物|100 果物 | 野菜|200 野菜 | 魚 |300 魚 | VBAでsheet2から、商品を検索して隣の金額の値をsheet1の商品の隣に金額を転記したいのですが、関数だとVLOOKUPでできるのですが、VBAではどういうプログラムになるのか教えてください、商品数は100以上あるとしてお願いします、宜しくお願いします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
VLOOKUP関数ででもできるよ。 Findなど使うのは、初心者には難しいだろう。 ーー 例データ Sheet1 A1:B4 品物 価格 魚 野菜 果物 ーー Sheet2 A1:B4 検索表 品物 価格 果物 200 野菜 100 魚 150 ーー コード 標準モジュールに 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 For i = 1 To d x = sh1.Cells(i, "A") sh1.Cells(i, "B") = WorksheetFunction.VLookup(x, sh2.Range("A1:b100"), 2, False) Next i End Sub ーーー 検索表範囲のsh2.Range("A1:b100")は適当に設定のこと。 可変にすることも出来るが、まずは大筋を勉強してから。 結果 Sheet1 A1:B4 品物 価格 魚 150 野菜 100 果物 200 見つからない場合が考えられるので、その手当ては考えてください。 http://myrtus21.com/blog/2007/06/vbavlookup.html など読めば判る。
お礼
早速の回答ありがとうございました、うまく表示することが出来ました。