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