私は特定のケースにアプローチしようとしてきましたが、これまでに得たものからどこへ行くべきかまだわかりません. どんな助けでも大歓迎です。
ここで自分の特定のケースにそれを構築できるかどうかを確認したいものを見つけました。2 つの別々のファイルを使用する代わりに、内容を file2 から sheet3 にコピーして、これも機能するかどうかを確認しました。しかし、値を変更した後も、エラーが発生しました(実行時エラー9.下付き文字が範囲外です)
もともと、私は2つのExcelファイルを持っています。
File1 には、sheet2 の A5 の後に始まる columnE に項目名があります。File2 には、sheet1 の A3 の後に始まる columnA に項目名があります。
File1のColumnDから見つかったfile2のColumnDに、file1のColumnEのセル値と一致するfile2のColumnAのセル値ごとに数値(バーコード)を配置できるマクロを書きたいと思います。
言い換えれば、列Dにバーコードがない列Aのアイテム名を持つファイル2、ファイル1列Eのすべてのアイテムのリストを検索し、完全に一致する名前を見つけ、その同じ行からバーコードを含む列Dの値をコピーし、バーコード値を空のファイル2に貼り付けます列D。
Sub Find_Barcode()
Dim PartRngSheet1 As Range, PartRngSheet2 As Range
Dim lastRowSheet1 As Long, lastRowSheet2 As Long
Dim cl As Range, rng As Range
lastRowSheet1 = Worksheets("Sheet2").Range("E65536").End(xlUp).Row
Set PartRngSheet1 = Worksheets("Sheet2").Range("A1:A" & lastRowSheet1)
lastRowSheet2 = Worksheets("Sheet3").Range("A65536").End(xlUp).Row
Set PartRngSheet2 = Worksheets("Sheet3").Range("A1:A" & lastRowSheet2)
For Each cl In PartRngSheet1
For Each rng In PartRngSheet2
If (cl = rng) Or (cl = rng.Offset(0, 1)) Then
rng.Offset(0, 4) = cl.Offset(0, 1)
End If
Next rng
Next cl
End Sub