Discussion:
VBA-Problem bei Pivot-Teilergebnissen
(zu alt für eine Antwort)
Frank Vellner
2010-01-13 10:55:26 UTC
Permalink
Liebe NG,

in Excel 2007 ist es nach wie vor ein Klickmaraton, wenn man alle
Teilergebnisse ausblenden möchte. Lieder kann man wohl nicht
verhindern, dass bei neuen PTs die Teilergebnisse per default angezeigt
werden.

Zur Lösung fand ich auf
http://www.office-loesung.de/ftopic321093_0_0_asc.php den folgenden
Code:

Sub NoSubtotals()
'turns off subtotals in pivot table
'.PivotFields could be changed to
'.RowFields or .ColumnFields
Dim pt As PivotTable
Dim pf As PivotField
For Each pt In ActiveSheet.PivotTables
For Each pf In pt.PivotFields
'Set index 1 (Automatic) to True,
'so all other values are set to False
pf.Subtotals(1) = True
pf.Subtotals(1) = False
Next pf
Next pt
End Sub

Der scheint zwar das gewünschte zu tun, bricht aber nach erfolgreicher
Arbeit immer mit:
Laufzeitfehler 1004 "Die Subtotals-Eigenschaft des PivotFeld-Objektes
kann nicht festgelegt werden"
ab.

Sieht jemand, wo der Fehler ist?

Viele Grüße
Frank
Andreas Killer
2010-01-13 17:27:32 UTC
Permalink
Post by Frank Vellner
Der scheint zwar das gewünschte zu tun, bricht aber nach erfolgreicher
Laufzeitfehler 1004 "Die Subtotals-Eigenschaft des PivotFeld-Objektes
kann nicht festgelegt werden"
ab.
Sieht jemand, wo der Fehler ist?
Nö, aber wenn es nur am Ende vorkommt, dann mach doch am Anfang ein
On Error Goto ExitPoint
und am Ende
ExitPoint:
rein. Wenn der Fehler kommt, hört die Routine auf.

Andreas.
Frank Vellner
2010-01-15 07:59:44 UTC
Permalink
Hallo Andreas,

danke, so ist zumindest die Fehlermeldung weg. Allerdings ist einem
schon ein wenig mulmig, wenn da ein Code läuft, den man nicht wirklich
versteht und der eigentlich bei jedem Lauf eine Fehlermeldung machen
möchte, die man ihm aber unterbindet...
Auch ist das Makro nicht wirklich schnell. Es wirkt so, als würde es
mehr Elemente bearbeiten, als es eigentlich gibt. Teilergebnisse kann
es ja nur in Zeilenbeschriftungen geben. Aber die kann der Code
scheinbar nicht gezielt ansprechen. Oder es geht halt gar nicht.

Viele Grüße
Frank
Andreas Killer
2010-01-15 08:21:43 UTC
Permalink
Post by Frank Vellner
danke, so ist zumindest die Fehlermeldung weg. Allerdings ist einem
schon ein wenig mulmig, wenn da ein Code läuft, den man nicht wirklich
versteht und der eigentlich bei jedem Lauf eine Fehlermeldung machen
möchte, die man ihm aber unterbindet...
Naja, sowas gibt es bei Diagrammen auch, z.B. gibt es ein
Chart.HasAxis mit dem man feststellen kann ob eine Achse da ist oder
nicht.... theoretisch. Bei manchen Diagramm-Typen kommt der Fehler
1004 wenn man diese Eigenschaft für die Secondary-Achse abfragt. Und
ärgerlicher Weise kommt der Fehler bei manchen Diagrammen auch dann
wenn man vorher "On Error" gesetzt hat!

Ich vermute mal das Dein Fall ähnlich liegt.
Post by Frank Vellner
Auch ist das Makro nicht wirklich schnell. Es wirkt so, als würde es
Tja, was auch immer da intern abläuft. Probier mal zusätzlich vorher
Application.ScreenUpdating und Application.EnableEvents auf False und
hinterher wieder True setzen.

Andreas.
Thomas Ramel
2010-01-15 19:55:37 UTC
Permalink
Grüezi Frank

Frank Vellner schrieb am 13.01.2010
Post by Frank Vellner
in Excel 2007 ist es nach wie vor ein Klickmaraton, wenn man alle
Teilergebnisse ausblenden möchte. Lieder kann man wohl nicht
verhindern, dass bei neuen PTs die Teilergebnisse per default angezeigt
werden.
Sieht jemand, wo der Fehler ist?
Nein, doch ich kann dir eine (hoffentlich!) bessere Alternative bieten :-)

http://www.contextures.com/xlPivotAddIn.html

und hier die Beschreibung dazu:

http://www.contextures.com/xlPivotAddIn02.html


Mit freundlichen Grüssen
Thomas Ramel
--
- MVP für Microsoft-Excel -
[Vista Ultimate SP-1 / xl2007 SP-1]
Loading...