Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1212to1216
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

Berechnete DataFields ausblenden

Berechnete DataFields ausblenden
pastinake
Hallo !
Ich bestücke eine Pivot Tabelle dynamisch mit Datenfeldern. Das herausnehmen der Datenfelder wird jedoch zum Problem, wenn diese berechnet sind.
Also habe ich eine kleine Schleife gebaut, die das abfängt. Jetzt bleibt die Frage, wie ich diese berechneten Felder ausgeblendet (zurück in die Feldliste, nicht löschen) bekomme ?
Beispiel:

Private Sub DatenFelderHerausnehmen()
Dim pf As PivotField
Dim ptBeispielpivot As PivotTable
Set ptBeispielpivot = Sheets("pivot").PivotTables("Beispielpivot")
With ptBeispielpivot
For Each pf In .DataFields
If .PivotFields(pf.SourceName).IsCalculated Then
' Genau hier ist mein Problem..
Else
pf.Orientation = xlHidden
End If
Next
End With
End Sub

Für Eure Hilfe meinen Herzlichen DANK
Bernd

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Berechnete DataFields ausblenden
22.05.2011 09:21:16
fcs
Hallo Bernd,
berechnete Felder bereiten hier unter VBA tatsächlich Probleme.
.Orientation = xlHidden
kann für diese Felder nicht gesetzt werden. Unter Excel 2007 funktioniert es manuell. Der per Makrorekorder aufgezeichnete Code zum Ausblenden der Felder zeigt aber eine Fehlermeldung an.
Hier bleibt dir wohl nichts anderes übrig als die ensprechenden berechneten Felder zu löschen und bei Bedarf wieder hinzuzufügen.
Schaut dann etwa wie folgt aus.
Gruß
Franz
Sub DatenFelderNeu()
Dim sFieldName As String
Dim ptBeispielpivot As PivotTable
Set ptBeispielpivot = Sheets("pivot").PivotTables(1)
Call DatenFelderHerausnehmen(pvTab:=ptBeispielpivot)
'Felder im Datenbereich hinzufügen
With ptBeispielpivot
.AddDataField .PivotFields("Feld05"), "Summe Feld05", xlSum
sFieldName = "Multi"
.CalculatedFields.Add Name:=sFieldName, _
Formula:="=Feld04 *Feld05", _
usestandardformula:=True
.AddDataField .PivotFields(sFieldName), "Summe " & sFieldName, xlSum
End With
End Sub
Sub DatenFelderHerausnehmen(pvTab As PivotTable)
Dim pf As PivotField
'Alle Felder im Datenbereich der Pivottabelle entfernen
With pvTab
For Each pf In .DataFields
If .PivotFields(pf.SourceName).IsCalculated Then
.PivotFields(pf.SourceName).Delete
Else
pf.Orientation = xlHidden
End If
Next
End With
End Sub

Anzeige
AW: Berechnete DataFields ausblenden
22.05.2011 09:51:05
pastinake
Hallo Franz,
danke für Deine Mühe. Ich hatte schon so was befürchtet.
Ich spekuliere auf die Tatsache, dass sich mehrere Datenfelder gemeinsam über das PivotFeld "Daten" wieder hidden lassen. Auch wenn dort berechnete Felder inbegriffen sind.
Somit könnte man (noch nicht getestet) einen "dummy" mit in das Datenfeld legen und dann gemeinsam hidden.
Ist dann universeller, da ich ja nicht in jeder Umgebung die Formel kenne.
Ich teste noch ein wenig,- Dir lieben Dank! Wenn mir nichts anderes einfällt, werde ich auf Deine Lösung zurückgreifen...
Bernd
Lösung
22.05.2011 10:56:10
pastinake
Für meinen Fall die Lösung:
Private Sub DatenFelderHerausnehmen()
Dim pi As PivotItem
Dim pf As PivotField
Dim ptBeispielpivot As PivotTable
Set ptBeispielpivot = Sheets("pivot").PivotTables("Beispielpivot")
With ptBeispielpivot
.DataLabelRange.Delete
End With
End Sub

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige