У меня есть следующий частичный код, и мой цикл цикла срабатывает ТОЛЬКО на 35-й вкладке, когда я пытаюсь активировать. Код работает правильно для листов 6-33. Я удалил лист 34, поэтому я думаю, что это может быть потому, что он «перескакивает» на лист 35. Однако, когда я отлаживаю и помещаю курсор над endTab, я вижу, что он содержит значение 35. Активировать по какой-то причине не работает только на этом листе и ломается. Есть предположения?Подзаголовок вне допустимого диапазона в пределах Do-Loop
Dim lastRow As Long
Dim startRow As Long
Dim currentRow As Long
Dim endTab As Integer
Sheets(4).activate
lastRow = Cells(Rows.Count, 2).End(xlUp).Row
startRow = 2
Range("A2:AB" & lastRow).Sort key1:=Range("AB2:AB" & lastRow), _
order1:=xlAscending, Header:=xlNo
For i = startRow To lastRow
Sheets(4).activate
endTab = Range("AB" & startRow + i - 2)
Range("A" & startRow + i - 2 & ":" & "AB" & startRow + i - 2).Copy
Worksheets(endTab).activate
Columns("A").Find("", Cells(Rows.Count, "A")).PasteSpecial xlPasteValues
Next
Любые скрытые/незаметные листы? –
Нет, я вижу список листов в окне VBAProject и вижу Sheet35 (не классифицируется), а значение моего endTab читает 35. – kmd
если 'Worksheets (endTab) .activate' errors и endTab = 35, что означает, что у вас нет 35 листов. Не знаете, почему еще вы это увидите. Этот код скопирован непосредственно из вашей книги? 'activate' должен быть заглавным, так что вы отредактировали после копирования? –