Excel VBA – копирование строки таблицы в другой лист на основе критериев, получение ошибок

Я пытаюсь создать диаграмму Ганта с разными цветами на основе типа введенных данных, поэтому сначала я должен скопировать данные определенного типа в отдельный график, чтобы помочь в форматировании. Но я получаю ошибки, когда я это делаю. Текущая ошибка, которую я получаю, – это «Переполнение». Моя цель – скопировать строку данных, в которых «PROD» появляется в ячейке на другой лист под названием «Gantt Calc» динамически (поскольку ранее могут быть уже имеющиеся данные). Вот код:

Sub test() ' ' test Macro ' Dim i As Integer Dim lastRow As Long ' Dim lastRow = .Cells(.Rows.Count, "A").End(xlUp).Row 'sorting by start date oldest-newest code block Range("A4").Select Range(Selection, Selection.End(xlToRight)).Select Range(Selection, Selection.End(xlDown)).Select ActiveWorkbook.Worksheets("Data Entry Page").AutoFilter.Sort.SortFields.Clear ActiveWorkbook.Worksheets("Data Entry Page").AutoFilter.Sort.SortFields.Add _ Key:=Range("D4:D8"), SortOn:=xlSortOnValues, Order:=xlAscending, _ DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("Data Entry Page").AutoFilter.Sort .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With For i = 4 To Rows.Count 'May need to calibrate lastRow to make sense If ActiveSheet.Cells(i, "B").Value = "PROD" Then Range(i, "A:F").Copy (Sheets(2).Range(i)) Next i End Sub 

Давайте будем гением компьютера.