Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1848to1852
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Fehler beim Ausblenden von PIVOT-Feldern

Fehler beim Ausblenden von PIVOT-Feldern
10.10.2021 09:44:55
PIVOT-Feldern
Hallo zusammen,
ich möchte über ein VBA-Makro Spalten von Datenfelder ausblenden. Hintergrund ist, dass man in einem Menue einstellen kann, ob man Werte absolut oder prozentual angezeigt haben möchte. Ein VBA-Makro blendet dann alle absoluten Felder aus und alle prozentualen ein (oder umgekehrt).
Das funktioniert auch alles prima, nur wenn ich ein eigenes erstelltes sogenanntes 'berechnetes Feld' ausblenden möchte, erhalte ich die Fehlermeldung "Die Orientation-Eigenschaft des PivotField-Objektes kann nicht festgelegt werden."
Mit dem Befehl

ActiveSheet.PivotTables("PivotTable1").PivotFields("Summe von Feld1").Orientation = xlHidden
klappt das wie gesagt prima, solange Feld1 ein Feld aus der Datenquelle der Pivot-Tabelle ist. Wenn Feld1 aber zum Beispiel die Summe von zwei Feldern ist, kommt die o.g. Fehlermeldung. Das gleich passiert auch mit dieser Alternative, bei der immer die erste Datenspalte der Pivot-Tabelle ausgeblendet wird:

ActiveSheet.PivotTables("PivotTable1").DataFields(1).Orientation = xlHidden
Hat jemand eine Idee?
Gruß und Danke
Roland

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

Betreff
Datum
Anwender
Anzeige
AW: Fehler beim Ausblenden von PIVOT-Feldern
11.10.2021 16:13:09
PIVOT-Feldern
Hallo Roland,
bei mir zeichnet der MakroRekorder

ActiveSheet.PivotTables("PivotTable7").PivotFields("Summe von Wert").Orientation = xlHidden
und nicht

ActiveSheet.PivotTables("PivotTable7").DataFields("Summe von Wert").Orientation = xlHidden
Die Eigenschaft "Orientation" schient nicht in der Klasse Datafield vorhanden zu sein.
Du muss dieses Feld über "Pivotfields(Feldname)" die Orientation definieren.
VG
Yal
AW: Fehler beim Ausblenden von PIVOT-Feldern
12.10.2021 06:50:23
PIVOT-Feldern
Hallo zusammen und danke für die Antwort.
Allerdings ist doch nicht verwunderlich, dass der MakroRecorder nur eine von mehreren Lösungen aufnehmen kann. Wie in meinem ersten Post geschrieben funktioniert ja auch die von Yal aufgezeichnete Version nicht bei berechneten Feldern.
Ich habe mal ein ganz stark vereinfachtes Beispiel hier hochgeladen:

https://www.herber.de/bbs/user/148559.xlsm

Wenn man auf das Kontrollkästchen Feld1 in der nähe von A9 klickt, kann man das entsprechende Feld der Pivot-Tabelle ein- und ausblenden.
Genauso kann man es mit dem Kontrollkästchen für Feld2 machen.
Beim dritten Kontrollkästchen "berechneten Feld" funktioniert nur noch das Einblenden aber das Ausblenden führt zu einem Fehler.
Natürlich kann man das auch direkt über die Feldliste machen, allerdings sieht mein Problem so aus, dass eine Vielzahl von Feldern ein- und ausgeblendet werden sollen und deshalb soll dies eine Vereinfachung für die Kollegen sein.
Hat jemand eine Idee, wieso dies bei dem Feld "berechnetes Feld" nicht funktioniert?
Gruß und Danke
Roland
Anzeige
AW: Beispieldatei defekt, Errormeldung
14.10.2021 09:50:00
Piet
Hallo Roland
deine Beispieldatei funktioniert nicht, wollte sie mir ansehen. Error beim Download. Bitte noch mal reinstellen.
mfg Piet
Beispieldatei neu hochgeladen
14.10.2021 09:59:21
Roland
Tatsache, geht nicht mehr, aber komisch, da ich sie mir selber auch geladen hatte. Ich habe die Datei hier neu hochgeladen.

https://www.herber.de/bbs/user/148613.xlsm

Danke für den Hinweis
Roland
AW: Beispieldatei neu hochgeladen
14.10.2021 10:36:02
peterk
Hallo
Deine Linkaddresse enthält am Schluss noch einige unnütze Zeichen und kann daher nicht göffnet werden (Zeichen händisch löschen und alles funkt.)
Folgender Code sollte funktionieren.

Sub Daten_Ausblenden(ByVal Element As String)
Dim pf As PivotField
Dim pi As PivotItem
Range("E1").Select
For Each pf In ActiveSheet.PivotTables("PivotTable1").PivotFields
If pf.Orientation = xlColumnField Then
For Each pi In pf.PivotItems
If pi.Name = "Summe von " & Element Then
pi.Visible = False
End If
Next
End If
Next
End Sub
Peter
Anzeige
AW: Beispieldatei neu hochgeladen
14.10.2021 14:11:47
Roland
Das klappt super, ganz herzlichen Dank!
Roland

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige