为什么我的VBA循环开始倒退?
我的代码目前为:
Sub delsheets() For i = 1 To 9 Step 1 Worksheets(i + 3).Delete Next i End Sub
我的工作簿总共有12张。
我已经进入了macros,并看到macros执行删除工作表倒退,并在步骤2即使我已经指定步骤1 – 即删除的进展:工作表12,工作表10,工作表8,工作表6,工作表4。
我不知道为什么发生这种情况,我想我的macros以正常的方式执行。
我非常感谢为什么发生这种情况的细分!
你想这样做倒退。
当使用索引号而不是表格名称时,它使用底部的选项卡顺序。
所以当迭代向前,当你删除工作表(4)时,工作表(5)现在变成工作表(4)并被跳过。
所以它跳过其他1.改变你的循环去9到1步-1。 它不会跳过任何表单。
使用表格名称删除或向后循环:
Sub delsheets() For i = 9 to 1 Step -1 Worksheets(i + 3).Delete Next i End Sub
如果工作表的名称是1, 2,...
那么使用这个:
Sub delsheets() For i = 1 to 9 Worksheets(Cstr(i + 3)).Delete Next i End Sub
将数字更改为string将删除名为4,5,6,…,12的工作表