Я бы использовал объект Workbook, чтобы открыть другую книгу.
Затем вы можете получить доступ к данным в другой книге;
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 от В до F, так B, C, D, E, F = 5
Вы конечно должны открыть диапазон куда копировать тоже ... как в ваш код содержит только один столбец Диапазон («C12: C32»)
Редактировать; О, ну, вам нужно скопировать с E: X на D: Y, все же я бы просто сделал петлевой желоб. В таком случае ...
Не было бы ужасной версии;
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
Хорошим способом изучения синтаксиса является запись себя, выполняющая действие с помощью функции «Запись макроса», - тогда вы можете взять все соответствующие биты и сделать ее динамичной –