Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1932to1936
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 und VBA

Datenschnitt und VBA
10.07.2023 19:32:22
Wendelin Geißler

Hallo,
ich haben 10 pivot Tabellen im gleichem Speicher. Ansichten werden über fünf Datenschnitt gefiltert.
Ich suche nun eine VBA Möglichkeit für jeden Datenschnitt auszulesen , welche Pivot Tabellen damit verbunden sind (Berichtsverbindungen).

Habe schon vielgelesen, aber bisher nicht gefunden.

Wer kann mir helfen ?

Gruß Wendelin

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

Betreff
Datum
Anwender
Anzeige
AW: Datenschnitt und VBA
10.07.2023 21:57:15
Yal
Hallo Wendelin,

versuche damit. Ausgabe im Direktfenster.

Sub Slicer_auflisten()
Dim WS As Worksheet
Dim PT As PivotTable
Dim SL As Slicer

    For Each WS In ThisWorkbook.Worksheets
        For Each PT In WS.PivotTables
            For Each SL In PT.Slicers
                With SL.Shape
                    Debug.Print .TopLeftCell.Worksheet.Name, PT.Name, PT.TableRange1.Address, SL.Name, .TopLeftCell.Address & ":" & .BottomRightCell.Address
                End With
            Next
        Next
    Next
End Sub
VG
Yal


Anzeige
AW: Datenschnitt und VBA
10.07.2023 22:59:05
Wendelin
Hallo,
vielen Dank für den Code!
Dieser funktioniert wenn die Datenschnitte und die Pivot Tabellen in einem Tabellenblatt sind. Habe ich jedoch in einem weiteren Tabellenblatt weitere Pivot Tabellen , erhalte ich einen Laufzeitfehler 1004 und im Direktbereich werden nur die Pivot des ersten Tabellenblattes angegeben.
Die pivot in den anderen Tabellenblättern sind Kopien der ersten Pivot.

Gibt es dafür noch eine Lösung ?

Sehr gute Arbeit !

Gruß
Wendelin


Wie wird VBA erforscht...
12.07.2023 14:52:58
Yal
Hallo Wendelin,

ich habe von Slicer keine Ahnung. Aber von Excel-Objektmodell erkundschaften, eine Menge.

Ich habe einfach ein Slicer unter Makrorekorder hergestellt (so auch beim ersten Code). Eigentlich geht das gesamt über den "SlicerCaches", was auch immer das ist (ausser eine Sammlung von SlicerCache, schon klar).
Dann habe ich eine Schleife über alle SlicerCache vom SlicherCaches: For each SC in ...SlicerCaches.
Das lass ich im Schritt-Modus (F8) beim offenen Lokalfenster laufen. So kann ich beobachten, welche Eigenschaften unter eine SlicerCache zu haben sind (alternativ wäre das Objekt-Katalog, wäre aber keine "Live"-Beobachtung.)

So könnte ich entdecken, dass 2 Sammlungen Slicers und Pivottables vorhanden sind. Die habe ich je in eine Schleife reingebracht, laufen lassen und geschaut, was rauskommt. Dann Code nochmal angepasst. Hier das Ergebnis:

Sub Makro1()
Dim SC As SlicerCache
Dim SL As Slicer
Dim PT As PivotTable

    For Each SC In ActiveWorkbook.SlicerCaches
        For Each SL In SC.Slicers
            Debug.Print SC.Name, SC.Parent.Name, SL.Name
        Next
        For Each PT In SC.PivotTables
            Debug.Print PT.Name, PT.Parent.Name
        Next
    Next
End Sub
Wichtiger als der Code selbst, der dich vielleicht nicht viel weiterbringt, ist die Vorgehensweise: so entdeckt man alles, was in Excel drin steckt.
Neben der -sehr kleine- Menge von Sachen, die man weisst, gibt es das Wissen, wie man erschliesst, was man noch nicht weisst.

Und jetzt weisst Du es auch. Viel Spass und Erfolg damit.

VG
Yal

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige