我有以下部分代码,当我尝试激活时,我的for循环仅在第35个选项卡上中断。代码可以正确运行6-33页。我删除了表34,所以我认为它可能是因为它“跳转”到表35。但是,当我调试并将光标放在endTab上时,我看到它包含值35.由于某种原因,激活不起作用在这张纸上休息。有什么想法吗?
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
答案 0 :(得分:2)
来自评论:
首次创建工作表时会创建工作表代码名称 - 它们不会调整以匹配工作簿中工作表的顺序。您的代码正在处理“第35张”(从左到右计算您的工作表标签),这不一定是代号为“Sheet35”的工作表