1
當我嘗試激活時,我有以下部分代碼,並且我的for循環僅在第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
隱藏/非常隱藏的工作表? – 2015-02-09 17:22:08
不,我可以看到VBAProject窗口上的工作表列表,並且可以看到Sheet35(未分類),並且我的endTab值顯示爲35. – kmd 2015-02-09 17:30:19
如果工作表(endTab).activate錯誤和endTab = 35表明您沒有35張。不知道爲什麼你會看到。該代碼是否直接從您的工作簿複製? 'activate'應該大寫,你在複製後編輯過嗎? – 2015-02-09 17:36:03