HERBERS
Excel-Forum
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Entdecke rund 2 Millionen Excel-Lösungen im
Forumsarchiv

Beiträge zum Thread: Pivot-Wertfeldeinstellung ändert sich automatisch

Forumbeitrag
Excel-Version des Fragestellers:
365 Insider Beta
Erfahrungslevel des Fragestellers:
Excel gut - VBA bescheiden
{Boris}
22.04.2026 09:41:57
Pivot-Wertfeldeinstellung ändert sich automatisch
Hallo zusammen,

ich habe eine umfangreiche Datei mit diversen Pivottabellen. Die Filter der Pivots werden in den Tabellen per VBA angesteuert / geändert.
Datenquelle ist eine intelligente Tabelle. Alle Wertfeldeinstellung der Pivottabellen stehen auf "Summe".
Jetzt kommt es aber ab und an vor, dass sich die Wertfeldeinstellungen in Teilen von selbst auf "Anzahl" ändern - das ist aber maximal unerwünscht.
Die KI erzählt mir dazu, dass das oft ein einer Aktualisierung der Datenquelle oder der Pivottabelle liegt, wodurch Excel auf den Standard zurücksetzt. Aber genau das möchte ich verhindern.

Habe mir dazu ein Makro geschrieben, was mir in einem separaten Blatt das jeweilige Arbeitsblatt, den Namen der Pivottabelle, die Bezeichnung des Feldnamens und dessen Funktion auflistet. Das hilft mir, die "Übeltäter" schnell zu identifizieren. Jedoch wäre es viel schöner, wenn man das von Grund auf her fixen könnte.

Habt ihr dazu eine Idee?

Hier der Vollständigkeit halber noch vorgenanntes Makro zur Überprüfung der Pivots.

'Listet in einem separaten Blatt alle Pivotfelder mit ihren Wertfeldeinstellung auf


Sub CheckPivotFieldFunctionsSheet()
Dim ws As Worksheet
Dim pT As PivotTable
Dim pf As PivotField
Dim outputWs As Worksheet
Dim row As Integer

' Neues Blatt für die Ausgabe erstellen
On Error Resume Next
Set outputWs = ThisWorkbook.Worksheets("Pivot-Check")
If outputWs Is Nothing Then
Set outputWs = ThisWorkbook.Worksheets.Add
outputWs.Name = "Pivot-Check"
Else
outputWs.Cells.Clear ' Vorhandene Daten löschen
End If
On Error GoTo 0

' Überschriften setzen
outputWs.Cells(1, 1).Value = "Arbeitsblatt"
outputWs.Cells(1, 2).Value = "PivotTable"
outputWs.Cells(1, 3).Value = "Feldname"
outputWs.Cells(1, 4).Value = "Funktion"

row = 2

' Durchlaufe alle Arbeitsblätter
For Each ws In ThisWorkbook.Worksheets
' Durchlaufe alle Pivottabellen im aktuellen Arbeitsblatt
For Each pT In ws.PivotTables
' Durchlaufe alle Wertfelder der aktuellen Pivottabelle
For Each pf In pT.DataFields
outputWs.Cells(row, 1).Value = ws.Name
outputWs.Cells(row, 2).Value = pT.Name
outputWs.Cells(row, 3).Value = pf.Name
outputWs.Cells(row, 4).Value = GetFunctionName(pf.Function)
row = row + 1
Next pf
Next pT
Next ws

' Spalten automatisch anpassen
outputWs.Columns.Autofit
End Sub


Danke vorab und viele Grüße,

Boris
Forumbeitrag
Excel-Version des Fragestellers:
365 Insider Beta
Erfahrungslevel des Fragestellers:
Excel gut - VBA bescheiden
{Boris}
22.04.2026 09:44:15
Hier noch die UDF dazu
Function GetFunctionName(pfFunction As XlConsolidationFunction) As String

' Übersetzt die Excel-Funktionscodes in lesbare Namen
Select Case pfFunction
Case xlSum: GetFunctionName = "Summe"
Case xlCount: GetFunctionName = "Anzahl"
Case xlAverage: GetFunctionName = "Mittelwert"
Case xlMax: GetFunctionName = "Max"
Case xlMin: GetFunctionName = "Min"
Case xlProduct: GetFunctionName = "Produkt"
Case xlCountNums: GetFunctionName = "Anzahl Zahlen"
'Case xlStdDev: GetFunctionName = "Standardabweichung"
Case xlVar: GetFunctionName = "Varianz"
Case Else: GetFunctionName = "Unbekannt (" & pfFunction & ")"
End Select
End Function
Forumbeitrag
Excel-Version des Fragestellers:
365 Insider Beta
Erfahrungslevel des Fragestellers:
Excel gut - VBA bescheiden
{Boris}
22.04.2026 12:03:21
Meine "Behelfslösung"
Hallo zusammen,

ich rufe im Open-Ereignis die UDF "AllePivotSummenOK auf und setze dann - sofern diese FALSCH liefert - alle Wertfeldeinstellungen mit der Sub SetzeAlleWerteAufSumme_MitBeschriftung auf Summe.
Funktioniert natürlich - dennoch fände ich es schöner, wenn man das von vornherein vermeiden könnte.

Function AllePivotSummenOK() As Boolean

Dim ws As Worksheet
Dim pt As PivotTable
Dim pf As PivotField

AllePivotSummenOK = True

For Each ws In ThisWorkbook.Worksheets
For Each pt In ws.PivotTables

For Each pf In pt.DataFields

' Prüfen, ob Zusammenfassungsfunktion Summe ist
If pf.Function <> xlSum Then
AllePivotSummenOK = False
Exit Function
End If

Next pf

Next pt
Next ws

End Function

Sub SetzeAlleWerteAufSumme_MitBeschriftung()

Dim ws As Worksheet
Dim pt As PivotTable
Dim pf As PivotField
Dim alteBeschriftung As String

For Each ws In ThisWorkbook.Worksheets
For Each pt In ws.PivotTables

For Each pf In pt.DataFields

' Aktuelle Beschriftung speichern
alteBeschriftung = pf.Caption

' Nur ändern, wenn nicht bereits Summe
If pf.Function <> xlSum Then
pf.Function = xlSum

' Beschriftung wiederherstellen
On Error Resume Next
pf.Caption = alteBeschriftung
On Error GoTo 0
End If

Next pf

Next pt
Next ws

End Sub


VG, Boris
Forumbeitrag
Excel-Version des Fragestellers:
365 Insider Beta
Erfahrungslevel des Fragestellers:
Excel gut - VBA bescheiden
snb
22.04.2026 12:11:42
AW: Pivot-Wertfeldeinstellung ändert sich automatisch
Ich würde eine Beispieldatei bevorzügen.
Forumbeitrag
Excel-Version des Fragestellers:
365 Insider Beta
Erfahrungslevel des Fragestellers:
Excel gut - VBA bescheiden
{Boris}
22.04.2026 12:17:20
AW: Pivot-Wertfeldeinstellung ändert sich automatisch
Hi,

es handelt sich um eine sehr komplexe Kundendatei mit ausschließlich vertraulichen Informationen.
Daher kann ich die leider nicht hochladen.

VG, Boris
Forumbeitrag
Excel-Version des Fragestellers:
365 Insider Beta
Erfahrungslevel des Fragestellers:
Excel gut - VBA bescheiden
JoWE
22.04.2026 12:51:32
AW: Pivot-Wertfeldeinstellung ändert sich automatisch
Du könntest die Arbeitsmappe anonymisieren und auf wenige Daten verkleinern.
Forumbeitrag
Excel-Version des Fragestellers:
365 Insider Beta
Erfahrungslevel des Fragestellers:
Excel gut - VBA bescheiden
{Boris}
22.04.2026 13:10:40
AW: Pivot-Wertfeldeinstellung ändert sich automatisch
Hi,

nein - ohne 2 Stunden Aufwand nicht möglich. Außerdem tritt das Problem immer nur unerwartet ohne jegliche Logik auf.
Ging mir mehr darum, ob ihr das auch schon hattet und irgendeinen Tipp habt, wie man das vermeiden kann.

VG, Boris
Forumbeitrag
Excel-Version des Fragestellers:
365 Insider Beta
Erfahrungslevel des Fragestellers:
Excel gut - VBA bescheiden
xlKing
22.04.2026 19:23:21
AW: Pivot-Wertfeldeinstellung ändert sich automatisch
Hi Boris,

das von dir beschriebene Verhalten kann ich mir nicht vorstellen. Beim Aktualisieren werden normalerweise nur Spaltenbreite und Formatierung verändert. Beides kannst du mit entfernen von Häkchen unterbinden. Aber dass sich die Aggregatfunktion ändert ist schon merkwürdig. Bist du dir sicher, dass dem so ist, und dass du diese nicht mit Ausführen eines vierten Makros versehentlich automatisch änderst?

Damit sich die Formatierung nach dem Aktualisieren nicht mehr ändert, klicke mit der rechten Maustaste auf die Pivottabelle, wähle Pivot-Table Optionen und entferne im Register "Layout und Format" ganz unten die beiden Häkchen. Eventuell kannst du auch damit experimentieren im Register Summen&Filter Häkchen zu entfernen. Vielleicht ist in deiner Version eine dieser Checkboxen für das Problem verantwortlich. Ein Versuch kann nicht schaden.

Gruß Mr. K.

Forumbeitrag
Excel-Version des Fragestellers:
365 Insider Beta
Erfahrungslevel des Fragestellers:
Excel gut - VBA bescheiden
Yal
22.04.2026 22:40:06
AW: Pivot-Wertfeldeinstellung ändert sich automatisch
Hallo Boris,

es gibt es wohl irgendwo eine Wert, die dich nicht eindeutig als Zahl erkennen lässt.

Eine einfache Möglichkeit wäre, die PivotTable aus einer Power Query Abfrage befüllen zu lassen, die die int. Tabelle als Quelle hat, anstatt direkt auf die int. Tabelle. So kannst Du in der Abfrage die Datentypen festlegen und so sicherstellen, dass immer Summe rauskommt.

VG
Yal
Forumbeitrag
Excel-Version des Fragestellers:
365 Insider Beta
Erfahrungslevel des Fragestellers:
Excel gut - VBA bescheiden
Uduuh
22.04.2026 23:51:58
AW: Pivot-Wertfeldeinstellung ändert sich automatisch
Hallo Boris,
möglicherweise sind durch die Aktualisierung der Quelldaten TEXTE in der Spalte.

Gruß aus'm Pott
Udo
Forumbeitrag
Excel-Version des Fragestellers:
365 Insider Beta
Erfahrungslevel des Fragestellers:
Excel gut - VBA bescheiden
{Boris}
23.04.2026 12:25:55
Sammeldank
Hallo zusammen,

danke für alle weiteren Vorschläge / Ideen.
Die Wertefunktion (Summe) wird nirgends per VBA angepackt. Möglicherweise steht in der Bezugsspalte aber nicht überall eine Zahl (sollte zwar der Fall sein, aber wer weiß - und die intelligente Tabelle ist bis zu 10.000 Zeilen lang), so dass Excel dann "Anzahl" für logischer erklärt und das entsprechen eigenständig ändert.
Die Idee mit PQ ist aber sicher die Beste. Die Pivotfilterwerte werden in einem anderen Blatt per Dropdown ausgewählt und dann bislang per VBA (Change-Ereignis) in die Pivot übertragen. Hier wäre eine PQ-Verknüpfung sicher möglich und auch sinnvoll.
Ich werde das mal in Ruhe ausprobieren.

Vielen Dank Euch allen!

VG, Boris