我嘗試過使用谷歌搜索和搜索這一個,但只是不能完全得到它。我所要做的就是循環遍歷活動工作表上的切片器,並刪除切片器(如果存在的話)。使用VBA循環瀏覽工作簿切片器名稱
目前我有6個切片機坐在那裏。以前我有
ActiveSheet.Shapes.Range(Array("Market Segment Name 2", "Line of Business 2" _
, "Customer Name", "Product Group Name", "Product Type Name", "Product Code") _
).Select
Selection.Delete
但是,如果我已經刪除了切片機,這是不好的。
現在我想(注白平衡設置爲姓「公」模塊中的全局變量)
Option Explicit
Dim sl As Slicer
Dim slName As String
Set wb = ActiveWorkbook
For Each sl In wb.SlicerCaches
If sl.Name = "Market Segment Name 2" Or _
sl.Name = "Line of Business 2" Or _
sl.Name = "Customer Name" Or _
sl.Name = "Product Group Name" Or _
sl.Name = "Product Type Name" Or _
sl.Name = "Product Name" Then
slName = sl.Name
ActiveSheet.Shapes.Range(slName).Delete
End If
Next sl
對我來說,它看起來像它應該工作。我已經得到它的工作,如果我去SlicerItem級別,但我不知道如何訪問它在切片機級別...
任何想法將不勝感激。謝謝。
如果這失敗了,我會去建立數組並刪除這種方式,但我仍然需要一種測試切片機目前是否存在的方法。
'我只是不知道如何在切片機級別訪問它......'我沒有得到你的問題 –
嗨悉達特Rout。我希望我的這個結構和邏輯正確。我正在通過圖像(下面鏈接)。當我在工作表上看到切片器時,我假設這是'切片器'級別,這是我可以訪問這些名稱的位置,這樣我就可以檢測到我是否可以刪除它... http://blogs.office。com/cfs-filesystemfile.ashx/__ key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-00-44-metablogapi/0636.image_5F00_2ADE6206.png –
所以你想要所有切片器的名稱或檢查切片器存在? –