【发布时间】:2019-04-16 08:34:03
【问题描述】:
我有以下 VBA 代码:
Sub abc()
Dim wb As Workbook
Set wb = Workbooks("Book1.xlsx")
wb.Sheets("sheet1").Activate
On Error Resume Next
wb.Sheets("Sheet2").Delete
wb.Sheets("Sheet3").Delete
End Sub
我有 1 个空白 Excel 文件 (Book1.xlsx) 和 2 张纸(sheet1 和 sheet2)。
在 Excel 2013 中它可以工作。
Excel 365 中的相同代码抛出错误消息
运行时错误9:下标超出范围
【问题讨论】:
-
哪一行实际上导致了错误?
-
你的工作簿中有
Sheet3吗? -
我使用了“On Error Resume Next”,因此即使“sheet3”不存在,vba 代码也应该跳过该行,并且在 excel 365 中运行时不应出错。
标签: excel vba excel-2013