2009-10-22 68 views
0

我加入了一个TableStyle使用语句到Excel工作簿:删除TABLESTYLE从Excel

ActiveWorkbook.TableStyles("PivotTable SS").Delete 

我如何以编程方式检查是否决定之前就已经存在:

ActiveWorkbook.TableStyles.Add("PivotTable SS") 

我可以用它删除是否删除?

目前我通过所有的表格样式循环,做一个选择性的删除:

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

然而,这是费时。我怎么才能检查数据透视表的存在和删除它没有循环?

谢谢:)

回答

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 
+0

Thanks Dendarii .. this helps :) – 2009-10-23 04:21:59