【发布时间】:2020-12-03 11:25:24
【问题描述】:
我将下面的函数放在一起,循环遍历工作簿中的三个特定工作表,并删除每个工作表中表格的表格内容。
我明白了
'运行时错误 9,下标超出范围'
当我调试时
For Each tbl In Sheets(Sht).ListObjects
突出显示。
Sub ClearTableData()
Application.ScreenUpdating = False
Dim tbl As ListObject
Dim Sht As Variant
'Loop through each sheet and table in the workbook
For Each Sht In Array("Sheet1", "Sheet2", "Sheet3")
For Each tbl In Sheets(Sht).ListObjects
'Delete table rows
tbl.DataBodyRange.Delete
Next tbl
Next Sht
Application.ScreenUpdating = True
End Sub
【问题讨论】:
-
知道错误发生在哪里会很有帮助
-
嗨 Andreas,当我查看调试时,'For Each tbl In Sheets(Sht).ListObjects' 行以黄色突出显示。
-
下标错误 9 表示它不存在。你有三张上面写着这些名字的纸吗?不是代号,而是选项卡上的工作表名称?
-
嗨,Darrell,是的,这三个工作表名称确实存在。谢谢。