Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Pivot Tabelle - Feld als Variable

Pivot Tabelle - Feld als Variable
23.07.2014 12:48:10
Mario
Hallo Forumsgemeinde,
bräuchte da mal eure Hilfe. Hab schon gegoogelt aber irgendwie krieg ichs nicht hin.
Habe eine pivot tabelle, die ich gerne mittels Auswahl variabel aufbauen möchte. Soweit so gut.
Habe in einer Zelle ein Auswahlfeld und das sollte übergeben werden
zB
Tabellenblatt= Menue
Zelle B2 = IC/3P
Code:
Dim Kriterium as string
Kriterium = Worksheets("Menue").Range("B2")
Diese Feld würde ich jetzt gerne als Variable übergeben.
Also mach aus
With ActiveSheet.PivotTables("PivotTable1").PivotFields("IC/3P")
einfach
With ActiveSheet.PivotTables("PivotTable1").PivotFields("Variable")
oder so ähnlich :-)
Danke im Voraus für jede Hilfe.
Gruß Mario

Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Vielleicht so : .PivotFields(Kriterium) '? _oT
23.07.2014 13:46:25
NoNet
_oT = "ohne Text"

AW: Vielleicht so : .PivotFields(Kriterium) '? _oT
23.07.2014 14:01:45
Mario
Hallo NoNet,
sorry, aber ich hab keine Ahnung was du meinst.
Gruß Mario

PivotTables("PivotTable1").PivotFields(Kriterium)
23.07.2014 16:03:24
NoNet
Hallo Mario,
probiere es mal so :
With ActiveSheet.PivotTables("PivotTable1").PivotFields(Kriterium)
Salut, NoNet

Anzeige
AW: PivotTables("PivotTable1").PivotFields(Kriterium)
24.07.2014 07:51:05
Mario
Hallo NoNet,
danke für deine Hilfe, das wars.
Gruß Mario

Die 'Variable' heißt doch bei dir 'Kriterium', ...
23.07.2014 16:08:36
Luc:-?
…Mario,
warum verstehst du dann nicht, was NoNet meint? Außerdem sind die An-/Ausführungszeichen nur für die Direktangabe des Feldes nötig. Variablen, die eine solche Angabe enthalten, wdn natürlich ohne die mit ihrem Namen genannt. Viell solltest du dich erst mal mit der VBA-Syntax (Variablen) vertraut machen… :->
Gruß, Luc :-?
Besser informiert mit …

Anzeige
AW: Die 'Variable' heißt doch bei dir 'Kriterium', ...
24.07.2014 07:56:33
Mario
Hallo Luc,
du hast sicherlich Recht, dass ich mich noch besser mit vba und variablen vertraut machen sollte. Ist halt ein bisserl ein Zeitproblem. Aber in dem Fall war das im Nachhinein eigentlich logisch, nur manchmal sieht man halt den Wald vor lauter Bäumen nicht. :-)
Gruß
Mario
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Dynamische Pivot Tabellen mit Variablen in Excel nutzen


Schritt-für-Schritt-Anleitung

  1. Erstelle eine Pivot Tabelle: Öffne Excel und stelle sicher, dass du eine Pivot Tabelle erstellt hast. Du kannst das über den Reiter "Einfügen" und dann "PivotTable" machen.

  2. Füge ein Auswahlfeld hinzu: Gehe zu dem Tabellenblatt, in dem du dein Auswahlfeld platzieren möchtest (z. B. "Menue"). Wähle eine Zelle (z. B. B2) und füge ein Dropdown-Menü ein. Dies kannst du über "Daten" > "Datenüberprüfung" > "Liste" tun.

  3. Schreibe den VBA-Code:

    • Öffne den VBA-Editor mit ALT + F11.
    • Füge ein neues Modul hinzu und kopiere den folgenden Code:
    Dim Kriterium As String
    Kriterium = Worksheets("Menue").Range("B2").Value
    
    With ActiveSheet.PivotTables("PivotTable1").PivotFields(Kriterium)
       ' Hier kannst du weitere Anpassungen vornehmen
    End With
  4. Führe den Code aus: Du kannst den Code über den VBA-Editor ausführen oder einen Button in Excel erstellen, um den Code zu triggern.


Häufige Fehler und Lösungen

  • Fehler: "PivotTable nicht gefunden"
    Lösung: Stelle sicher, dass der Name deiner Pivot Tabelle exakt mit dem im Code verwendeten Namen übereinstimmt.

  • Fehler: "Feld nicht gefunden"
    Lösung: Überprüfe, ob das Auswahlfeld in Zelle B2 einen gültigen Wert enthält, der auch in der Pivot Tabelle vorhanden ist.

  • Fehler: "Typenkonflikt bei Kriterium"
    Lösung: Stelle sicher, dass das Auswahlfeld einen Textwert zurückgibt und keine leeren Zellen oder Fehlerwerte enthält.


Alternative Methoden

  • Verwendung von Formeln: Anstelle von VBA kannst du auch Formeln nutzen, um dynamische Berichte zu erstellen. Mit der Funktion SVERWEIS oder INDEX/VERGLEICH kannst du Daten abhängig von einer Auswahl dynamisch abrufen.

  • Verwendung von Slicern: Slicer bieten eine benutzerfreundliche Möglichkeit, Daten in einer Pivot Tabelle zu filtern. Du kannst Slicer über den Reiter "PivotTable-Analyse" hinzufügen.


Praktische Beispiele

  • Angenommen, du hast eine Pivot Tabelle mit Verkaufsdaten und möchtest die Verkaufszahlen für verschiedene Produkte dynamisch anzeigen. Du kannst ein Dropdown-Menü mit Produktnamen in Zelle B2 erstellen und den oben genannten VBA-Code nutzen, um die Pivot Tabelle entsprechend zu aktualisieren.
Dim Kriterium As String
Kriterium = Worksheets("Menue").Range("B2").Value

With ActiveSheet.PivotTables("PivotTable1").PivotFields(Kriterium)
    .Orientation = xlRowField
    .Position = 1
End With

Tipps für Profis

  • Nutze benannte Bereiche für die Auswahlfelder, um die Handhabung zu erleichtern.
  • Kombiniere mehrere Kriterien, indem du mehrere Auswahlfelder verwendest und diese in deinem VBA-Code zusammenfügst.
  • Halte deinen VBA-Code modular, indem du Funktionen schreibst, um wiederverwendbare Logik zu kapseln.

FAQ: Häufige Fragen

1. Wie kann ich mehrere Felder in meiner Pivot Tabelle dynamisch ändern?
Du kannst mehrere Auswahlfelder erstellen und deren Werte im VBA-Code kombinieren, um die Pivot Tabelle entsprechend anzupassen.

2. Funktioniert das auch in Excel Online?
Leider unterstützt Excel Online keine VBA-Programmierung. Du musst den Code in einer Desktop-Version von Excel ausführen.

3. Was sind Slicer und wie helfen sie bei Pivot Tabellen?
Slicer sind grafische Filter, die es dir ermöglichen, die Daten in Pivot Tabellen auf einfache Weise zu filtern, ohne den Code zu verwenden. Sie sind besonders benutzerfreundlich für Endanwender.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige