• ベストアンサー

Excel 2007 マクロ 複数シートの検索

Excel 2007 マクロ 複数シートの検索 Sheet1とSheetに情報があります。 Sheet1にある番号とSheet2にある番号を 検索して、ヒットした場合 Sheet1の備考の文字をSheet2に備考に反映したいです。 画像にSheet1、Sheet2、完成形があります。 関数であればVlookupを使用しますが、 マクロでできるようにしたいです。 どのようなマクロになりますでしょうか。 アドバイスお願いします。

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

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんばんは! 外していたらごめんなさい。 こんな感じでも良いのでしょうか? 標準モジュールにコピー&ペーストしてマクロを実行してみてください。 Sub test() Dim i, j As Long Dim ws1, ws2 As Worksheet Set ws1 = Worksheets("sheet1") Set ws2 = Worksheets("sheet2") For i = 2 To ws1.Cells(Rows.Count, 1).End(xlUp).Row For j = 2 To ws2.Cells(Rows.Count, 1).End(xlUp).Row If ws2.Cells(j, 1) = ws1.Cells(i, 1) Then ws2.Cells(j, 2) = ws1.Cells(i, 2) End If Next j Next i End Sub 参考になればよいのですが 的外れならごめんなさいね。m(__)m

hyogara777
質問者

お礼

ご回答ありがとうございました。わかりやすい内容でイメージ通りです。助かりました。

その他の回答 (1)

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.1

FINDですね。 エクセルのマクロのヘルプから引用です 次の使用例は、シート 1 のセル範囲 A1:A500 で、値に 2 が含まれているセルを検索し、その値を 5 に変更します。 With Worksheets(1).Range("a1:a500") Set c = .Find(2, lookin:=xlValues) If Not c Is Nothing Then firstAddress = c.Address Do c.Value = 5 Set c = .FindNext(c) Loop While Not c Is Nothing And c.Address <> firstAddress End If End With これを元にして作成してください。

hyogara777
質問者

お礼

ご回答ありがとうございます。参考にさせて頂きます。

関連するQ&A