Форум по VBA, Excel и Word

VBA, Excel => VBA, макросы в Excel => Тема начата: Корень от 14 мая 2022, 01:15

Название: Vba макрос перенос строк
Отправлено: Корень от 14 мая 2022, 01:15
Добрый день! Прошу помощи.
Необходимо из одного файла ( VBA Task.xlsm) перенести все строки в другой файл при условии, что город во втором столбце (VBA Task.xlsm) соответствует городу в переменной G4.
Мой отрывок кода ниже 
I = 0 ' переменная цикла
K = 2 ' переменная строки в файле FinalFileName
Workbooks.Open (FinalFileName) ' открываю новый файл
Workbooks("VBA Task.xlsm").Sheets("Data").Activate ' файл из которого идет отбор делаю активным
    For I = 2 To SumStrok ' запускаем цикл со второй строки ( минуя заголовок) до конца таблицы
   
        If Cells(I, 2) = G4 Then  ' проверяю условие, равна ли ячейка в активном файле выбранному значению G4
          Application.Goto Workbooks(FinalFileName).Worksheets("Лист2").Range(Cells(K, 1), Cells(K, 8)) = Workbooks("VBA Task.xlsm").Worksheets("Data").Range(Cells(I, 1), Cells(I, 8))  ' переношу диапозон строк из файла VBA Task.xlsm в новый файл FinalFileName

           K = K + 1 ' перехожу на новую строку в новом файле
        End If
Next
Выдает ошибку в строке Application.Goto Workbooks(FinalFileName).Worksheets("Лист2").Range(Cells(K, 1), Cells(K, 8)) = Workbooks("VBA Task.xlsm").Worksheets("Data").Range(Cells(I, 1), Cells(I, 8))
  Не могу понять, как правильно перенести диапазон из активного файла в новый файл