2016-06-09 9 views
1

Ich versuche, alle Elemente aus jedem Slicer, die in der Arbeitsmappe vorhanden ist, auszuwählen.Excel VBA: Wählen Sie alle Elemente aus jedem Slicer

Zur Zeit habe ich die folgende, jedoch ist dies eine „Laufzeitfehler 438: Objekt unterstützt diese Eigenschaft oder diese Methode nicht unterstützt“ Herstellung auf der 6. Zeile, wo ich die Schleife durch i beginnen:

Dim sc As SlicerCache 
Dim sl As Slicer 
Dim i As Integer 
For Each sc In ActiveWorkbook.SlicerCaches 
    For Each sl In sc.Slicers 
     For i = 1 To sl.SlicerItems.Count 
      sl.SlicerItems(i).Selected = True 
     Next i 
    Next sl 
Next sc 

I brauche ich die i-Schleife in der Mitte, denn später möchte ich den gleichen Code verwenden, um nur Elemente auszuwählen, die in einem Array vorhanden sind.

Jede Hilfe sehr geschätzt, danke!

+0

Vielleicht wird dieser Beitrag helfen: http://stackoverflow.com/questions/33374563/iterate- Over-Slicer-via-VBA-und-Select-ein-Einzel-Element-jedes Mal – Brian

+0

Vielen Dank Brian. –

Antwort

1

ändern, die For i = 1 to sc.SlicerItems.Count Linie und es sollte funktionieren (slicerItems ist eine Eigenschaft des SlicerCache und nicht das Slicer Objekt selbst

+0

Ich glaube, Sie sollten auch die nachfolgende 'sl' zu 'sc' in der Schleife ändern – RGA

+0

Perfekt, funktioniert jetzt, vielen Dank. –

Verwandte Themen