[英]VBA Excel Sheet Method doesn't work after Office updates
我有一个脚本,它从CSV文件中获取数据,并在生成图形之后。 在许多Office更新之后,此脚本已完成工作。 Office版本不可能再出现。
这是代码:
Dim sheet
For Each sheet In ActiveWorkbook.Sheets
Select Case sheet.Name
Case "Archive": Sheets(sheet.Name).Delete
Case "Trend": Sheets(sheet.Name).Delete
Case "PivotTable": Sheets(sheet.Name).Delete
End Select
Next
我收到以下错误:“应用程序定义或对象定义的错误”。 该错误出现在Select Case中,因为我的对象“工作表”没有方法“名称”。
我试图将“工作表”声明为工作表
Dim sheet as Worksheet
For Each sheet In ActiveWorkbook.Sheets
Select Case sheet.Name
Case "Archive": Sheets(sheet.Name).Delete
Case "Trend": Sheets(sheet.Name).Delete
Case "PivotTable": Sheets(sheet.Name).Delete
End Select
Next
在脚本的第一个提示中,我没有任何问题,而在第二个提示中,我出现了错误:“类型不匹配”
我该如何解决?
谢谢
注意 :这不一定是答案,但是写下来作为注释太长了。
您可以使代码更加简洁明了:我宁愿不使用工作sheet
因为它与工作Sheet
非常相似。 另外,最好避免使用ActiveWorkbook
。
Dim Sht As Worksheet
For Each Sht In ActiveWorkbook.Sheets
Select Case Sht.Name
Case "Archive", "Trend", "PivotTable"
Sht.Delete
End Select
Next Sht
然后
如果只想删除Worksheets
则:
Dim sheet As Worksheet
For Each sheet In ActiveWorkbook.Worksheets '<-- loop through Worksheets collection
Select Case sheet.Name
Case "Archive": Sheets(sheet.Name).Delete
Case "Trend": Sheets(sheet.Name).Delete
Case "PivotTable": Sheets(sheet.Name).Delete
End Select
Next
如果要删除Worksheets
和Charts
则:
Dim sheet As variant '<-- a Variant variable can be assigned both a Worksheet and a Chart object
For Each sheet In ActiveWorkbook.Sheets '<-- loop through Worksheets and Charts collections
Select Case sheet.Name
Case "Archive": Sheets(sheet.Name).Delete
Case "Trend": Sheets(sheet.Name).Delete
Case "PivotTable": Sheets(sheet.Name).Delete
End Select
Next
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.