Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Pivot nur bestimmte selektieren

Pivot nur bestimmte selektieren
lutz
Hallo Excel-Profis,
ich komme mal wieder ohne Eure Hilfe nicht weiter:
Ich möchte nur ein paar Werte aus einer Liste mit Pivot selektieren, die stehen in den Zellen A4:A10 in der Tabelle "Eingabe".
Alle anderen Werte sollen ausgeblendet werden bzw. nicht selektiert.
Ich habe das mal mit Aufzeichnung versucht aber dann bekommt man alle Werte und nicht das man alle Einträge nicht mehr selektiert.
Mein Code (mit nur der Zelle A5 als Beispiel:
Sub test1()
Dim XXTagesdat As String
XXTagesdat = Sheets("Eingabe").Range("A5")
With ActiveSheet.PivotTables("PivotTable1").PivotFields("WL.Datum")
.PivotItems("20.03.2012").Visible = False
.PivotItems("21.03.2012").Visible = False
.PivotItems("22.03.2012").Visible = False
.PivotItems("23.03.2012").Visible = False
.PivotItems("26.03.2012").Visible = False
.PivotItems("29.03.2012").Visible = False
.PivotItems("30.03.2012").Visible = False
.PivotItems("02.04.2012").Visible = False
.PivotItems("09.04.2012").Visible = False
.PivotItems("08.11.2010").Visible = False
.PivotItems("22.11.2010").Visible = False
.PivotItems("04.07.2011").Visible = False
.PivotItems("25.07.2011").Visible = False
.PivotItems("17.10.2011").Visible = False
.PivotItems("05.12.2011").Visible = False
.PivotItems("12.12.2011").Visible = False
.PivotItems("19.12.2011").Visible = False
.PivotItems("02.01.2012").Visible = False
.PivotItems("09.01.2012").Visible = False
.PivotItems("16.01.2012").Visible = False
.PivotItems("23.01.2012").Visible = False
.PivotItems("25.01.2012").Visible = False
.PivotItems("30.01.2012").Visible = False
.PivotItems("06.02.2012").Visible = False
.PivotItems("08.02.2012").Visible = False
.PivotItems("10.02.2012").Visible = False
.PivotItems("13.02.2012").Visible = False
.PivotItems("15.02.2012").Visible = False
.PivotItems("19.02.2012").Visible = False
.PivotItems("20.02.2012").Visible = False
.PivotItems("20.02.2012").Visible = False
'.PivotItems("21.02.2012").Visible = False
.PivotItems("22.02.2012").Visible = False
.PivotItems("23.02.2012").Visible = False
.PivotItems("24.02.2012").Visible = False
.PivotItems("27.02.2012").Visible = False
.PivotItems("29.02.2012").Visible = False
.PivotItems("01.03.2012").Visible = False
.PivotItems("02.03.2012").Visible = False
.PivotItems("05.03.2012").Visible = False
.PivotItems("06.03.2012").Visible = False
.PivotItems("09.03.2012").Visible = False
.PivotItems("12.03.2012").Visible = False
.PivotItems("13.03.2012").Visible = False
.PivotItems("14.03.2012").Visible = False
.PivotItems("16.03.2012").Visible = False
.PivotItems("19.03.2012").Visible = False
.PivotItems("08.11.2010").Visible = False
.PivotItems("22.11.2010").Visible = False
.PivotItems("20.03.2012").Visible = False
.PivotItems("21.03.2012").Visible = False
.PivotItems("22.03.2012").Visible = False
.PivotItems("23.03.2012").Visible = False
.PivotItems("26.03.2012").Visible = False
.PivotItems("29.03.2012").Visible = False
.PivotItems("30.03.2012").Visible = False
.PivotItems("02.04.2012").Visible = False
.PivotItems("09.04.2012").Visible = False
.PivotItems(XXTagesdat).Visible = True
End With
End Sub

Der Code sollte erst alle Einträge auf Visible = false setzen und dann nur die Einträge die dann in die 5 variablen geschrieben werden auf = true
Geht das?
Vielen Dank für Eure Hilfe
Viele Grüße Lutz
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Pivot nur bestimmte selektieren
23.02.2012 14:21:56
fcs
Hallo Lutz,
man kann in einem Pivottabellenbericht nicht die Visible-Eigenschaft für alle Items eines Feldes auf False setzen. Es muss mindestens ein Item sichtbar bleiben.
Man muss also erst alle Items einblenden und dann die nicht gewünschten ausblenden.
Bei Datumswerten muss man dann noch beachten, dass VBA intern mit dem US-Format arbeitet.
Gruß
Franz
Sub PivotFilterDatumswerteSetzen()
Dim rngTagesdat As Range, rngZelle As Range
Dim pvTab As PivotTable, pvField As PivotField, pvItem As PivotItem
Dim boolAusblenden
Set rngTagesdat = Sheets("Eingabe").Range("A5:A10") 'Bereich mit Filterwerten
'Pivottabelle Objektvariable zuweisen
Set pvTab = ActiveSheet.PivotTables(1)
'Nicht mehr benutzte Pivot-Items in Filter-Auswahlisten entfernen (Option)
pvTab.PivotCache.MissingItemsLimit = xlMissingItemsNone
'Pivottabelle aktualisieren
pvTab.RefreshTable
Set pvField = pvTab.PivotFields("WL.Datum")
With pvField
Application.ScreenUpdating = False
'Filter des Pivotfeldes löschen - zeigt alle zutreffen Werte des Pivotfeldes an
.ClearAllFilters
'Nicht gewünschte Items ausblenden
For Each pvItem In .VisibleItems
boolAusblenden = True
'PivotItem mit den Wunschwerten vergleichen
For Each rngZelle In rngTagesdat.Cells
If IsDate(rngZelle.Value) Then
If pvItem.Value = Format(rngZelle, "M\/D\/YYYY") Then
boolAusblenden = False
Exit For
End If
End If
Next
'Pivotitem ggf. ausblenden
If boolAusblenden = True Then
If .VisibleItems.Count = 1 Then
MsgBox "Keine Eintrage zu gewünschten Datumswerten gefunden!"
Else
pvItem.Visible = False
End If
End If
Next
Application.ScreenUpdating = True
End With
End Sub

Anzeige
AW: Pivot nur bestimmte selektieren
23.02.2012 15:24:01
lutz
Hallo Franz,
vielen Dank - klappt leider nicht, bei
.ClearAllFilters
steigt er aus und sagt die Eingenschaft wird nicht unterstützt.
Ich bin mit etwas tüfteln auf
Sub Set_SeitenfeldJC()
Dim XXTagesdat As String
XXTagesdat = Sheets("Eingabe").Range("A5")
Dim rngPItems As Range
Dim pItem As PivotItem
Set rngPItems = Range(ActiveCell, ActiveCell.End(xlDown))
For Each pItem In ActiveSheet.PivotTables("PivotTable1"). _
PivotFields("WL.Datum").PivotItems
'If Application.WorksheetFunction.CountIf(rngPItems, pItem) > 0 Then
If pItem  XXTagesdat Then
pItem.Visible = False
Else
pItem.Visible = True
End If
Next pItem
End Sub
gekommen aber das ist nur mit einem Wert - aus Zelle A5, ich bräuchte aber A4:A10 und evt. auch noch B4:B10
Ist das vielleicht einfacher?
Vielen Dank und viele Grüße Lutz
Anzeige
AW: Pivot nur bestimmte selektieren
23.02.2012 16:51:38
fcs
Hallo Lutz,
ich hab mit Excel-2007 gearbeitet.
In Excel 2003 gibt es das Löschen des Filters wohl noch nicht als VBA-Anweisung oder die Syntax ist anders.
Ich hab dein Makro mal versucht so umzustellen, dass mehrer Datumswerte als Filter gestzt werden. So läuft es zumindest unter Excel 2007 in meiner Testdatei.
Gruß
Franz
Sub Set_SeitenfeldJC()
Dim XXTagesdat As String, rngDatum As Range, rngZelle As Range
Dim boolAusblenden As Boolean
Set rngDatum = Sheets("Eingabe").Range("A5:A10")
Dim rngPItems As Range
Dim pItem As PivotItem
For Each pItem In ActiveSheet.PivotTables("PivotTable1"). _
PivotFields("WL.Datum").HiddenItems
pItem.Visible = True
Next
For Each pItem In ActiveSheet.PivotTables("PivotTable1"). _
PivotFields("WL.Datum").PivotItems
boolAusblenden = True
For Each rngZelle In rngDatum.Cells
XXTagesdat = Format(rngZelle, "M\/D\/YYYY") 'Nur so funktioniert es in Excel 2007
'        XXTagesdat = rngZelle 'unterExcel 2003 evtl. auch so
If pItem = XXTagesdat Then
boolAusblenden = False
Exit For
End If
Next rngZelle
If boolAusblenden = True Then
pItem.Visible = False
End If
Next pItem
End Sub

Anzeige
AW: Pivot nur bestimmte selektieren
23.02.2012 21:07:28
lutz
Hallo Franz tausend Dank - stimm unter 2003 geht es nur mit der unteren Zeile - schön das Microsoft da so kompatibel ist.
Vielen Dank für Deine Hilfe und noch einen wunderschönen Abend für Dich.
Viele Grüße Lutz
AW: Frage beantwortet owT
24.02.2012 08:45:46
fcs
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Pivot-Tabelle: Nur bestimmte Werte anzeigen


Schritt-für-Schritt-Anleitung

Um in einer Pivot-Tabelle nur bestimmte Werte anzuzeigen, kannst Du folgende Schritte befolgen:

  1. Öffne Deine Excel-Datei und navigiere zur Tabelle mit den Daten.
  2. Erstelle eine Pivot-Tabelle aus den gewünschten Daten.
  3. Gehe zur Registerkarte "Entwurf" in der Ribbon-Leiste und wähle "PivotTable-Optionen".
  4. Aktiviere die Option "Nicht verwendete Elemente ausblenden", um später nur die gewünschten Werte anzuzeigen.
  5. Füge einen VBA-Code hinzu, um die Sichtbarkeit der Pivot-Items zu steuern. Hier ein Beispiel:
Sub FilterPivot()
    Dim rngDatum As Range, rngZelle As Range
    Dim pItem As PivotItem
    Set rngDatum = Sheets("Eingabe").Range("A5:A10")

    For Each pItem In ActiveSheet.PivotTables("PivotTable1").PivotFields("WL.Datum").PivotItems
        pItem.Visible = False ' Alle Items ausblenden
    Next pItem

    For Each rngZelle In rngDatum.Cells
        If IsDate(rngZelle.Value) Then
            For Each pItem In ActiveSheet.PivotTables("PivotTable1").PivotFields("WL.Datum").PivotItems
                If pItem.Value = Format(rngZelle, "M/D/YYYY") Then
                    pItem.Visible = True ' Nur die gewünschten Items anzeigen
                End If
            Next pItem
        End If
    Next rngZelle
End Sub
  1. Führe den VBA-Code aus, um die Pivot-Tabelle entsprechend zu filtern.

Häufige Fehler und Lösungen

  • Fehler: .ClearAllFilters wird nicht unterstützt.

    • Lösung: Stelle sicher, dass Du die richtige Excel-Version hast. Diese Methode ist möglicherweise nicht in Excel 2003 verfügbar.
  • Fehler: PivotItem bleibt nicht sichtbar.

    • Lösung: Überprüfe, ob mindestens ein PivotItem sichtbar bleibt, da dies eine Anforderung von Excel ist.

Alternative Methoden

Wenn Du die Sichtbarkeit von PivotItems nicht über VBA steuern möchtest, kannst Du auch die Filteroption in der PivotTable verwenden:

  1. Klicke auf den Dropdown-Pfeil im PivotTable-Feld.
  2. Wähle "Label-Filter" oder "Wert-Filter" aus.
  3. Setze die gewünschten Filterkriterien, um nur bestimmte Werte anzuzeigen.

Praktische Beispiele

Angenommen, Du hast eine Liste von Datumswerten in den Zellen A5:A10 und möchtest nur die Werte in der Pivot-Tabelle anzeigen, die in dieser Liste stehen:

  1. Erstelle Deine Pivot-Tabelle basierend auf der Datenquelle.
  2. Verwende den oben angegebenen VBA-Code, um nur die Datumswerte in der Liste anzuzeigen.
  3. Überprüfe die Ergebnisse in der Pivot-Tabelle.

Tipps für Profis

  • Nutze Datenvalidierung, um sicherzustellen, dass nur gültige Datumswerte in die Liste eingegeben werden.
  • Speichere Deine Arbeitsmappe regelmäßig, besonders wenn Du mit VBA arbeitest, um Datenverlust zu vermeiden.
  • Experimentiere mit verschiedenen Filteroptionen in Pivot-Tabellen, um mehr Einblicke in Deine Daten zu erhalten.

FAQ: Häufige Fragen

1. Wie kann ich mehrere Werte in einer Pivot-Tabelle filtern?
Du kannst mehrere Werte filtern, indem Du den VBA-Code anpasst, um alle gewünschten Werte in einem Bereich zu überprüfen.

2. Funktioniert dieser Ansatz in Excel 2003?
Ja, jedoch musst Du möglicherweise einige Anpassungen am VBA-Code vornehmen, da nicht alle Funktionen in älteren Versionen verfügbar sind.

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