1

我使用以下语句将 TableStyle 添加到 excel 工作簿:

ActiveWorkbook.TableStyles.Add("PivotTable SS")

我可以使用以下方法删除它:

ActiveWorkbook.TableStyles("PivotTable SS").Delete

在决定是否删除之前,如何以编程方式检查它是否已经存在?

目前我正在遍历所有表格样式并进行选择性删除:

    For Each ts In ActiveWorkbook.TableStyles
        If ts.Name = "PivotTable Style 1" Then
            ts.Delete
        End If
    Next ts

但是,这很耗时。我怎样才能检查数据透视表的存在并在不循环的情况下将其删除?

谢谢 :)

4

1 回答 1

1

您可以尝试将样式分配给变量。如果变量为 Nothing,则样式不存在。如果样式不存在并且您尝试分配变量,则会收到错误消息,因此您需要暂时暂停错误处理。

Sub DeleteAStyle()

    Dim ts As TableStyle

    On Error Resume Next
    Set ts = ActiveWorkbook.TableStyles("PivotTable Style 1")
    On Error GoTo MyUsualErrorHandler

    If Not ts Is Nothing Then
        ts.Delete
    End If

End Sub
于 2009-10-22T12:40:06.560 回答