none
Pivot-Tabelle: Ausblenden eines berechneten Feldes mittels VBA RRS feed

  • Frage

  • Hallo,

    ich gestalte eine Pivot-Tabelle, welche sich über Dropdown-Felder anpassen lässt. Insbesondere das angezeigte Datenfeld soll ausgewählt werden können. Soweit, sogut. Per VBA kann ich Datenfelder entfernen und das ausgewählte hinzufügen.

    Jetzt das Problem: Ich habe ein berechnetes Feld, welches mir einen Quotienten aus zwei Feldern bestimmt. Formel: Anteil = WENN(Feld2<>0;Feld1/Feld2;0). Dieses Feld kann ich problemlos als Datenfeld hinzugügen. Aber ich bekomme es nicht wieder weg.

    Ich verwende folgenden Code:

    Sub ChangePivotTable(fieldname As String)
      
      Dim pt As PivotTable
      Dim field As PivotField
      
      Set pt = ThisWorkbook.Sheets("Auswertung").PivotTables("PivotTable1")
      
      'alle vorhandenen Datenfelder entfernen
      For Each field In pt.DataFields
        If field.Orientation = xlDataField Then field.Orientation = xlHidden
      Next field
      
      'gewähltes Feld hinzufügen
      Set field = pt.AddDataField(pt.PivotFields(fieldname), "Summe von " & fieldname, xlSum)
      field .NumberFormat = "#,##0"
      
    End Sub

    Dieser funktioniert für alle Felder, nur nicht beim Entfernen/Ausblenden des berechneten Feld. Dabei bekomme ich den Laufzeitfehler 1004: Die Orientation-Eigenschaft des PivotField-Objektes kann nicht festgelegt werden.

    Ich habe mir diesen Schritt auch mal vom Makrorekorder aufzeichnen lassen, um zu sehen, was Excel macht. Aber Excel hat mir genau den Befehl aufgezeichnet, den auch ich verwende. Nur kann ich diesen nicht ausführen.

    Hat jemand eine Idee, wie ich diese Feld wieder entfernen kann?

    Grüße, CNX

    P.S.: Ich verwende Excel 2007.

    Donnerstag, 25. November 2010 10:14