>下のようなマクロを作成してみましたがうまくいきません。
どううまく行かないのか、エラーがでるのであれば
どの行ででるのかも記されると良いと思います
Findの使用方法をちゃんと理解できていないようですね
初心者にはFor~Nextの方が使いやすいのではと思います
あと、何(book、sheetなど)を対象に処理をしているのかを明確にされた方が良いと思います
これを踏まえて、コードを変更してみました
Sub test()
Dim 検索品目 As String
Dim オーダ番号 As Integer
Dim i As Long
Dim x As Long
i = ActiveCell.Row
'選択行の3列目セルの値を変数『検索品目』に格納
With Workbooks("ブックA.xls").Worksheets("sheet1")
検索品目 = .Cells(i, 3).Value
End With
'for~nextを使用した検索
With Workbooks("ブックB.xls").Worksheets("sheet1")
For x = 2 To .Range("G65536").End(xlUp).Row
If .Cells(x, 7).Value = 検索品目 Then
'検索したセルの3行左のセルの値を変数『オーダ番号』に格納
オーダ番号 = .Cells(x, 7).Offset(, -3).Value
Exit For
End If
Next
End With
'ブック A の選択行の15列(O列)にデータ入力
With Workbooks("ブックA.xls").Worksheets("sheet1")
.Cells(i, 15) = オーダ番号
End With
End Sub
参考まで
お礼
ご回答ありがとうございます! for-nextを使用して検索するなんて、考えもしませんでした。 その他ネストのさせ方、withの使い方等、とても勉強になりました。 やりたかった事が実現できました。 本当にありがとうございました。