我使用以下语句将ExcelStyle添加到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
然而,这非常耗时。如何检查数据透视表是否存在并删除它而不循环?
谢谢:)
答案 0 :(得分: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