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

Forumthread: Wertfelder aus Pivottabelle entfernen

Wertfelder aus Pivottabelle entfernen
31.10.2018 16:04:21
Tobi
Hallo VBA-Experten,
eine Frage: Ich möchte per VBA-Code alle Wertfelder auch die berechneten aus einer Pivottabelle "löschen". Der untenstehende Code schafft das auch, allerdings lässt er immer ein Wertelement in der Pivottabelle stehen. Könnt ihr mir dabei helfen?
Private Sub DatenFelderHerausnehmen()
Dim pi As PivotItem
Dim pf As PivotField
Dim ptBeispielpivot As PivotTable
Set ptBeispielpivot = Sheets("Pivot_combined").PivotTables("PivotTable1")
With ptBeispielpivot
.DataLabelRange.Delete
End With
End Sub

2. Variante ist folgende:
Public Sub tr()
Dim pf                        As PivotField
For Each pf In ActiveSheet.PivotTables(1).DataFields
pf.Orientation = xlHidden
Next pf
End Sub
Hier ist aber das Problem, dass berechnete Felder stehenbleiben, bzw. nur bis zum ersten berechneten Feld "gelöscht" wird.
Vielen Dank für die Mühe!
Grüße
Tobi
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wertfelder aus Pivottabelle entfernen
04.11.2018 05:51:11
fcs
Hallo Tobi,
da scheint im VBA-Objekt-Modell von Excel eine Macke drin zu sein.
Für die berechneten Felder kann man die Eigenschaft Orientation zwar auf xlDataField setzen um das Feld nach dem Anlegen im Bericht anzuzeigen. Es ist per VBA aber nicht möglich die Eigenschaft auf xlHidden zu setzen um es auszublenden.
Man kann ein berechnetes Feld nur komplett löschen, dann verschwindet es natürlich auch aus dem Datenbereich - dies ist aber Unsinn, denn man möchte das Feld ja ggf. wieder verwenden und nicht jese mal wieder neu anlegen müssen.
Mit folgender Anpassung werden zumindest alle "normalen" Pivot-Felder aus dem Datenbereich entfernt.
Gruß
Franz
Public Sub tr()
Dim pvTab As PivotTable
Dim pf                        As PivotField
On Error Resume Next
Set pvTab = ActiveSheet.PivotTables(1)
For Each pf In pvTab.DataFields
pf.Orientation = xlHidden
Next pf
For Each pf In pvTab.CalculatedFields
'        pf.Delete
Next
End Sub

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Wertfelder aus Pivottabelle entfernen


Schritt-für-Schritt-Anleitung

Um Wertfelder, einschließlich berechneter Felder, aus einer Pivottabelle zu entfernen, kannst du den folgenden VBA-Code verwenden. Dieser Code sorgt dafür, dass alle Datenfelder aus der Pivottabelle gelöscht werden.

  1. Öffne deine Excel-Datei und gehe zu dem Arbeitsblatt mit der Pivottabelle.

  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Füge ein neues Modul hinzu (Einfügen > Modul).

  4. Kopiere den folgenden Code in das Modul:

    Public Sub WertfelderEntfernen()
       Dim pvTab As PivotTable
       Dim pf As PivotField
    
       On Error Resume Next
       Set pvTab = ActiveSheet.PivotTables(1)
    
       For Each pf In pvTab.DataFields
           pf.Orientation = xlHidden
       Next pf
    
       For Each pf In pvTab.CalculatedFields
           pf.Delete
       Next pf
    End Sub
  5. Schließe den VBA-Editor und kehre zu Excel zurück.

  6. Führe das Makro aus, indem du auf Entwicklertools > Makros klickst und das WertfelderEntfernen-Makro auswählst.

Dieser Code entfernt alle Wertfelder und berechneten Felder aus deiner Pivottabelle.


Häufige Fehler und Lösungen

  • Problem: Nach dem Ausführen des Makros bleiben berechnete Felder in der Pivottabelle.

    • Lösung: Stelle sicher, dass du die pf.Delete-Anweisung in der Schleife für CalculatedFields nicht auskommentiert hast.
  • Problem: Der Code funktioniert nicht, wenn keine Pivottabelle vorhanden ist.

    • Lösung: Überprüfe, ob die Pivottabelle auf dem aktiven Arbeitsblatt vorhanden ist, bevor du das Makro ausführst.

Alternative Methoden

Wenn du den VBA-Ansatz nicht verwenden möchtest, kannst du auch manuell Wertfelder in der Pivottabelle löschen:

  1. Klicke mit der rechten Maustaste auf das Wertfeld in der Pivottabelle.
  2. Wähle Wertfeldeinstellungen und dann Entfernen.
  3. Für berechnete Felder gehe zu Analyse > Berechnetes Feld und lösche es dort.

Praktische Beispiele

  1. Excel 2016: Wenn du in Excel 2016 eine Pivottabelle hast, die monatliche Umsätze anzeigt, und du das berechnete Feld für den Durchschnitt entfernen möchtest, gehe zu Analyse > Feldliste, klicke auf das berechnete Feld und wähle Löschen.

  2. Doppelte Werte entfernen: Um doppelte Werte in einer Pivottabelle zu löschen, kannst du das PivotTable Tools-Menü verwenden und die Filteroptionen anpassen, um alte Werte zu löschen.


Tipps für Profis

  • Nutze die On Error Resume Next-Anweisung in deinem VBA-Code, um Fehler zu ignorieren. Dies kann hilfreich sein, wenn du mit nicht vorhandenen Pivottabellen arbeitest.
  • Halte deine Pivottabelle regelmäßig auf dem neuesten Stand, um alte Werte und nicht mehr benötigte berechnete Felder zu entfernen und die Übersichtlichkeit zu erhöhen.

FAQ: Häufige Fragen

1. Wie kann ich ein berechnetes Feld in einer Pivottabelle löschen?
Um ein berechnetes Feld zu löschen, gehe zu Analyse > Berechnetes Feld und wähle das Feld aus, das du entfernen möchtest.

2. Kann ich mehrere Pivottabellen gleichzeitig bearbeiten?
Ja, du kannst ein Makro erstellen, das durch alle Pivottabellen in einem Arbeitsblatt iteriert und die entsprechenden Änderungen vornimmt.

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