Вам нужно затемнить каждую рабочую книгу и рабочую таблицу, которую вы будете использовать.
Dim wb1 as Workbook, wb2 as Workbook, ws1 as Worksheet, ws2 as Worksheet
Dim xrow as long, arrData() as variant
Set wb1 = Workbooks("Book1")
Set ws1 = wb1.Worksheets("Sheet1")
Set wb2 = Workbooks("Book2")
Set ws2 = wb2.Worksheets("Sheet2")
Обратите внимание, что это работает, только если у вас открыты обе рабочие книги.
Также я бы порекомендовал скопировать данныеиз каждой ячейки в массив, вместо копирования диапазона.Таким образом я получаю меньше ошибок.
ApplicationScreenUpdating = False
ws1.Activate
'where n is the number of rows you want to copy
for x = 1 To n
arrData[x - 1] = ws1.Cells(x, 1).value
next x
ws2.Activate
for i = 1 to n
ws2.Cells(i, 1).value = arrData[i - 1]
next i
ApplicationScreenUpdating = True