Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Pivot-Datenschnitte per VBA auslesen

Pivot-Datenschnitte per VBA auslesen
03.01.2013 09:36:36
Nils
Hallo zusammen,
ich habe eine größere Auswertung mit mehreren Pivot-Tabellen und Datenschnitten erstellt.
Leider kenne ich mit Pivottabellen in VBA noch nicht wirklich aus. Was ich jetzt gerne machen würde ist, die aktiven Felder die ich über Datenschnitte ausgewählt habe, über VBA auszulesen - bspw. sind mehre Währungen in der Auswertung vorhanden und wenn ich per Datenschnitt mir nur EUR anzeigen lasse, will ich per VBA auslesen welche Währung angezeigt wird.
Hintergrund ist, dass ich die aktiven Felder des Datenschnittes gerne als Filter für die "Rohdaten" der Pivottabelle übertragen möchte. Ich gehe eigentlich davon aus, das einen simplen Weg geben muss mit dem die aktiven Felder des Datenschnitts ausgelesen werden können, doch leider habe ich mit Google keine Lösung für mein Problem gefunden und mit rumprobieren bin ich auch auf keine Lösung gekommen...
Ich hoffe ihr könnt mir helfen.
Grüße, Nils

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Pivot-Datenschnitte per VBA auslesen
03.01.2013 11:28:26
fcs
Hallo Nils,
in der hochgeladenen Datei findest du ein Makro zur Auswertung der Einstellung von Datenschnitten und setzen des Autofilters in den Quelldaten der Pivot-Tabelle.
Ob das auch bei vielen Pivottabellen und Datenschnitten funktioniert weiss ich nicht. ggf. muss du das auf bestimmte Datenschnitte einschränken.
https://www.herber.de/bbs/user/83229.xlsm
Gruß
Franz

Anzeige
AW: Pivot-Datenschnitte per VBA auslesen
03.01.2013 11:58:09
Nils
Hallo Franz,
vielen Dank für die Antwort! Da die top Einstellungen auf der Arbeit leider den Download der Datei verhindern werde ich mir das heute Abend mal von zu Hause aus anschauen!
Vielen Dank für deine Hilfe!
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Pivot-Datenschnitte per VBA auslesen


Schritt-für-Schritt-Anleitung

Um die aktiven Felder eines Datenschnitts in einer Pivot-Tabelle per VBA auszulesen, kannst du die folgenden Schritte befolgen:

  1. Öffne den VBA-Editor:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Ein neues Modul erstellen:

    • Klicke im Projekt-Explorer mit der rechten Maustaste auf VBAProject (DeineDatei.xlsm) und wähle Einfügen > Modul.
  3. Code einfügen:

    • Füge den folgenden VBA-Code in das Modul ein:
    Sub AuslesenDatenschnitt()
       Dim ws As Worksheet
       Dim pvt As PivotTable
       Dim pvtField As PivotField
       Dim slicer As Slicer
       Dim item As SlicerItem
    
       Set ws = ThisWorkbook.Sheets("DeinPivotSheetName") ' Ersetze mit dem Namen deines Arbeitsblatts
       Set pvt = ws.PivotTables(1) ' Ersetze mit der entsprechenden Pivot-Tabelle
    
       For Each slicer In ThisWorkbook.SlicerCaches(1).Slicers ' Ersetze die Indexnummer nach Bedarf
           For Each item In slicer.SlicerItems
               If item.Selected Then
                   Debug.Print item.Name ' Gibt den Namen des ausgewählten Items aus
               End If
           Next item
       Next slicer
    End Sub
  4. Makro ausführen:

    • Schließe den VBA-Editor und kehre zu Excel zurück.
    • Drücke ALT + F8, wähle AuslesenDatenschnitt und klicke auf Ausführen.
  5. Ergebnisse prüfen:

    • Die ausgewählten Werte werden in der unmittelbaren Fenster (Debug.Print) angezeigt. Du kannst die Werte nach Bedarf weiterverarbeiten.

Häufige Fehler und Lösungen

  • Excel Datenschnitt keine Verbindung gefunden:

    • Stelle sicher, dass der Datenschnitt mit der Pivot-Tabelle verbunden ist. Du kannst dies prüfen, indem du den Datenschnitt auswählst und unter PivotTable-Analyse die Verbindungen überprüfst.
  • Datenschnitt Schriftgröße ändern:

    • Um die Schriftgröße eines Datenschnitts zu ändern, klicke mit der rechten Maustaste auf den Datenschnitt, wähle Größe und Eigenschaften und passe die Schriftart an.

Alternative Methoden

Wenn du die aktiven Felder eines Datenschnitts nicht über VBA auslesen möchtest, kannst du auch die Excel-Funktion GETPIVOTDATA verwenden. Diese Funktion ermöglicht es dir, Daten direkt aus einer Pivot-Tabelle zu extrahieren. Der Nachteil ist, dass sie nicht die Auswahl von Datenschnitten berücksichtigt.


Praktische Beispiele

Nehmen wir an, du hast einen Datenschnitt für Währungen erstellt und möchtest nur die ausgewählten Währungen in einer Zelle anzeigen. Du kannst den VBA-Code anpassen, um die Werte in eine bestimmte Zelle zu schreiben:

Sub AuslesenUndSchreiben()
    Dim ws As Worksheet
    Dim result As String
    result = ""

    ' Rest des Codes ...

    For Each item In slicer.SlicerItems
        If item.Selected Then
            result = result & item.Name & ", "
        End If
    Next item

    ' Entferne das letzte Komma
    If Len(result) > 0 Then
        result = Left(result, Len(result) - 2)
    End If

    ws.Range("A1").Value = result ' Schreibe das Ergebnis in Zelle A1
End Sub

Tipps für Profis

  • Automatisierung: Du kannst das Auslesen der Datenschnittwerte automatisieren, indem du das Makro beim Öffnen der Datei oder beim Ändern eines Datenschnitts auslöst.
  • Fehlerbehandlung: Implementiere Fehlerbehandlungsroutinen in deinem VBA-Code, um unerwartete Probleme zu vermeiden.

FAQ: Häufige Fragen

1. Wie kann ich die Schriftgröße der Datenschnitte in Excel ändern? Du kannst die Schriftgröße der Datenschnitte ändern, indem du mit der rechten Maustaste auf den Datenschnitt klickst, Größe und Eigenschaften auswählst und die Schriftart anpasst.

2. Was tun, wenn ich keine Verbindung zu meinem Datenschnitt herstellen kann? Stelle sicher, dass der Datenschnitt korrekt mit der Pivot-Tabelle verbunden ist. Überprüfe die Datenquelle der Pivot-Tabelle und stelle sicher, dass sie aktuell ist.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige