Workbook オブジェクトを使用して別のブックを開きます。
Dim wbBaza As Workbook
Set wbBaza = Workbooks.Open("Back.xlsx")
次に、他のワークブックのデータにアクセスできます。
wbBaza.Sheets("New_Games").Range()
コードのようにループします。
For Each Baza in wbBaza.Sheets("New_Games").Range("B2:B10000")
EXおよびDY列の意味がわかりませんが、比較する値と同じ行にデータがある場合は、範囲を使用してその列もカバーします...例:
For Each Baza in wbBaza.Sheets("New_Games").Range("B2:F10000")
次に、宛先列が F の場合、次のことができます。たとえば、.Cells() を使用してコピーします。
Lista.Cells(1,1) = Baza.Cells(1,5)
これは、Baza の範囲が B から F であるため、B、C、D、E、F=5 です。
もちろん、コピーする場所の範囲も開く必要があります...コードのように、その単一の列 Range("C12:C32") しかありません
編集; そうです、E:X から D:Y にコピーする必要がありますが、その場合は .Cells を介してループを作成するだけです...
ひどいバージョンのようではありませんか。
For Each Lista In Range("A12:X32")
For Each Baza In wbBaza.Sheets("New_Games").Rows
If Lista.Cells(1, 3) = Baza.Cells(1, 2) Then
For iLoop = 5 To 25 ' E=5 to X=25
Lista.Cells(1, iLoop - 1) = Baza.Cells(1, iLoop)
Next
End If
If Baza.Row = 10000 Then
Exit For
End If
Next
Next