• ベストアンサー

VBA初心者です

例 sheet1                      sheet2 商品名 | 金額 | 果物|100 果物  |                 野菜|200   野菜  |                 魚  |300     魚   | VBAでsheet2から、商品を検索して隣の金額の値をsheet1の商品の隣に金額を転記したいのですが、関数だとVLOOKUPでできるのですが、VBAではどういうプログラムになるのか教えてください、商品数は100以上あるとしてお願いします、宜しくお願いします。

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.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 など読めば判る。

bolujo
質問者

お礼

早速の回答ありがとうございました、うまく表示することが出来ました。

関連するQ&A