我的代码目前为:
Sub delsheets()
For i = 1 To 9 Step 1
Worksheets(i + 3).Delete
Next i
End Sub
Run Code Online (Sandbox Code Playgroud)
我的工作簿总共有12张.
我已经步入宏观并且通过在步骤2中向后删除纸张来执行宏,即使我已经指定了步骤1-即删除的进展:纸张12,纸张10,纸张8,纸张6,纸张4.
我不知道为什么会发生这种情况,我希望我的宏能够以正常的方式执行.
我非常感谢为什么会发生这种情况!
你想倒退.
使用索引号而不是表名时,它使用底部选项卡的顺序.
因此,当向前迭代时,当您删除工作表(4)时,工作表(5)现在变为工作表(4)并被跳过.
因此它会跳过其他1.将你的循环改为9到1步-1.它不会跳过任何床单.
使用工作表名称删除或向后循环:
Sub delsheets()
For i = 9 to 1 Step -1
Worksheets(i + 3).Delete
Next i
End Sub
Run Code Online (Sandbox Code Playgroud)
如果表单的名称是1, 2,...使用此:
Sub delsheets()
For i = 1 to 9
Worksheets(Cstr(i + 3)).Delete
Next i
End Sub
Run Code Online (Sandbox Code Playgroud)
将数字更改为字符串将删除名为4,5,6,...,12的工作表