Kann man mit einem Excel-Makro den Filter einer Pivot-Tabelle ändern?

Antwort vom

Ja. Mit einem Excel-Makro (VBA) kannst du den Filter einer Pivot-Tabelle ändern, zum Beispiel: - Berichtsfilter setzen - einzelne Pivot-Felder filtern - bestimmte Elemente ein-/ausblenden - Datums- oder Wertfilter anwenden Beispiel für einen Berichtsfilter: ```vba Sub PivotFilterSetzen() Dim pt As PivotTable Dim pf As PivotField Set pt = Worksheets("Tabelle1").PivotTables("PivotTable1") Set pf = pt.PivotFields("Region") pf.CurrentPage = "Nord" End Sub ``` Beispiel für mehrere sichtbare Elemente: ```vba Sub PivotMehrfachFilter() Dim pt As PivotTable Dim pf As PivotField Dim pi As PivotItem Set pt = Worksheets("Tabelle1").PivotTables("PivotTable1") Set pf = pt.PivotFields("Region") pf.ClearAllFilters pf.EnableMultiplePageItems = True For Each pi In pf.PivotItems pi.Visible = (pi.Name = "Nord" Or pi.Name = "Süd") Next pi End Sub ``` Wichtig: - Der Feldname muss exakt stimmen. - Bei OLAP-/Datenmodell-Pivots funktioniert manches anders. - Nicht jedes Filterverhalten lässt sich bei jeder Pivot-Art gleich steuern. Kurz: Ja, das ist grundsätzlich problemlos möglich.

Verwandte Fragen

Excel-Makro: Spalten E:G per Button ein- und ausblenden?

Ja. Verwende dieses Makro und weise es dem Button zu: vba Sub SpaltenEGUmschalten() Columns("E:G").EntireColumn.Hidden = Not Columns("E").EntireColumn.Hidden End Sub So funktio...

Excel-Makro: Im Bereich B10:B20, wenn der IndentLevel in Spalte B = 1 ist, dann in dieser Zeile in B:O oben eine dünne Rahmenlinie setzen?

vba Sub RahmenObenBeiIndent1() Dim ws As Worksheet Dim c As Range Set ws = ActiveSheet For Each c In ws.Range("B10:B20") If c.IndentLevel = 1 Then With ws.Range(ws.Cells(c.Row, &q...

Kann man mit einem Excel-Makro abfragen, ob und wie stark ein Zellinhalt eingerückt ist?

Ja. In Excel-VBA kannst du die Einrückung einer Zelle über IndentLevel abfragen. Beispiel: vba Sub EinrueckungPruefen() Dim wert As Long wert = Range("A1").IndentLevel MsgB...

Lässt sich die Excel-Warnung „Pivot enthält schon Daten“ per Makro ausschalten?

Ja. Die Meldung lässt sich im Makro meist mit deaktivierten Excel-Warnungen unterdrücken: vba Application.DisplayAlerts = False ' Pivot-Aktion hier, z. B. Aktualisieren / Ersetzen / L...

Excel-Makro: Einfärbung der Zellen B10:D15 aufheben?

Ja. In VBA z. B. so: vba Range("B10:D15").Interior.Pattern = xlNone Alternativ: vba Range("B10:D15").Interior.ColorIndex = xlColorIndexNone Falls auch andere Formatierungen e...

Excel-Makro: Kann bei einer If-Schleife mit nur einer Anweisung nach Then und Else alles in derselben Zeile stehen?

Ja. In VBA/Excel-Makros darf eine einzeilige If-Anweisung so geschrieben werden: vba If Bedingung Then AnweisungElse Mit Else in derselben Zeile: vba If x > 0 Then y = 1 Else y = 2 Sobald na...

Wie löscht man mit einem Excel-Makro im Bereich B10:H100 alle Zellrahmen?

vba Range("B10:H100").Borders.LineStyle = xlNone

Excel-Makro: Alle Spalten in Tab1!Alle ausblenden, wobei „Alle“ als =INDIREKT(Tab2!B5):INDIREKT(Tab2!B6) definiert ist?

Ja. Das geht per VBA, indem der definierte Name Alle ausgewertet und die darin enthaltenen Spalten ausgeblendet werden. vba Sub SpaltenAusblendenAlle() Dim rng As Range On Error GoTo Fehler Set...

Excel: Wie ruft man mit einem Makro ein anderes Makro auf und übergibt dabei die Zahl 1 oder 2 sowie die Zelladresse A4?

Ja. In VBA übergibst du Werte als Parameter. vb Sub Starter() Call ZielMakro(1, Range("A4").Address) Call ZielMakro(2, Range("A4").Address) End Sub Sub ZielMakro(ByVal num...

Was bedeutet defmacro in Lisp?

In Lisp bedeutet defmacro das Definieren eines Makros. Kurz: defun definiert eine Funktion defmacro definiert ein Makro Ein Makro: bekommt unevaluierte Code-Formen als Eingabe erzeugt daraus neuen L...