我想循環選擇一定範圍內的所有切片器項目。比方說,從3
到6
的所有項目。我的切片機包含以下項目1 , 2, 3, 5, 6, 8
使用VBA循環切片器項目
這裏是我試過
Sub SlicerTest()
With ActiveWorkbook.SlicerCaches("Slicer_rtytr")
Dim maxNumberOfDays As Long
maxNumberOfDays = 9 'I want to be able to identify the number of items programmatically but do not know how to do this
Dim fromDay As Long
fromDay = 3
Dim toDay As Long
toDay = 6
For i = 1 To maxNumberOfDays
If (i > fromDay And i < toDay) Then
.SlicerItems(CStr(i)).Selected = True
Else
.SlicerItems(CStr(i)).Selected = False
End If
Next i
End With
End Sub
的結果應該是切片機僅選秀權,但5
它拋出一個錯誤。我試過一個普通的1,2,3,4,5,6,7,8
數組,它工作正常。我猜這是因爲錯過了值而不起作用?
謝謝你,我決定來計算的限幅器'= SUM元素的數量(IF(FREQUENCY(MATCH(A3:A16,A3:A16, 0),MATCH(A3:A16,A3:A16,0))> 0,1))'。但問題是我如何處理錯誤? 「試着抓住」? –
「期待」一個錯誤並嘗試用嘗試捕獲來規避它通常是不好的做法。這個excel查詢是以編程方式完成的嗎?如果是這樣,則將其分配給您的maxNumberOfDays變量。記住你會想動態地找出有多少元素(除非你總是有一個靜態數量的元素)。 – Max