2009-10-22 59 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