Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1392to1396
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Datenschnitt Vorauswahl per VBA

Datenschnitt Vorauswahl per VBA
19.11.2014 14:21:11
Peter
Hallo,
ich möchte für einen Datenschnitt eine Vorauswahl treffen, die ich mit einem Klick aktivieren kann. Hierzu benutze ich folgenden Code:

Sub AuswahlLand()
Application.ScreenUpdating = False
ActiveWorkbook.SlicerCaches("Datenschnitt_Land").ClearManualFilter
With ActiveWorkbook.SlicerCaches("Datenschnitt_Land")
.SlicerItems("D").Selected = True
.SlicerItems("E").Selected = True
'wie kann ich alle, die "False" sind, zusammenfassen?
.SlicerItems("F").Selected = False
.SlicerItems("N").Selected = False
End With
Application.ScreenUpdating = True
End Sub

Jetzt meine Frage: Wie kann ich alle Items, die nicht ausgewählt werden sollen, als die FALSE sind, zusammenfassen. Hier habe ich nur ein Beispiel, in meiner richtigen Tabelle können mehrere hundert Items auftauchen und der Code wird zu lang...
Habt ihr einen Tipp für mich?
Besten Dank vorab und viele Grüße,
Peter

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datenschnitt Vorauswahl per VBA
19.11.2014 18:42:03
Luschi
Hallo Peter,
versuch es mal so:

Sub AuswahlLand()
Dim sC As SlicerCache, dic As Object, it As Object, _
s As String, i As Integer, arr As Variant
Application.ScreenUpdating = False
Application.EnableEvents = False
Application.Calculation = xlCalculationManual
'hier alle alle Slicers , die aktiviert sein sollen, kommagetrennt angeben
s = "D,E"
arr = Split(s, ",", -1, vbTextCompare)
Set dic = CreateObject("Scripting.Dictionary")
For i = 0 To UBound(arr)
dic.Add Trim(arr(i)), ""
Next i
Set sC = ActiveWorkbook.SlicerCaches("Datenschnitt_Land")
With sC
.ClearManualFilter
For Each it In .SlicerItems
If (Not dic.exists(it.Name)) Then
it.Selected = False
End If
Next it
End With
dic.RemoveAll
Erase arr
Set dic = Nothing
Set sC = Nothing
Set it = Nothing
Application.ScreenUpdating = True
Application.EnableEvents = True
Application.Calculation = xlCalculationAutomatic
End Sub
Gruß von Luschi
aus klein-Paris

Anzeige
AW: Datenschnitt Vorauswahl per VBA
20.11.2014 07:57:40
Peter
Moin Luschi,
ich danke dir vielmals! Klappt perfekt!
Beste Grüße,
Peter

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige