繁体   English   中英

Office更新后,VBA Excel工作表方法不起作用

[英]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

如果要删除WorksheetsCharts则:

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM