Pivot



Excel-Version: 9.0 (Office 2000)
nach unten

Betrifft: Pivot
von: gabi
Geschrieben am: 23.05.2002 - 09:06:19

Hallo,
wer weiss Rat?

wie kann ich alle Pivot-Felder zuvor löschen bevor ich diese mit .True setze?

bis jetzt habe dies so (umständlich) gelöst:

With ActiveSheet.PivotTables("PivotTable3").PivotFields("A-Teilnehmer")
.PivotItems("7515097").Visible = False
.PivotItems("7515097101").Visible = False
.PivotItems("7515097102").Visible = False
.PivotItems("7515097106").Visible = False usw. usw.

nach oben   nach unten

Re: Pivot
von: Hans W. Hofmann
Geschrieben am: 23.05.2002 - 09:24:37

Hallo Gabi,

obwohl mir etwas das Verständnis dafür abgeht wie man etwas zuvor löschen und nochbevorer mit true besetzt ;-), sag ich mal
.PivotItems is ne Auflistung und kann auch über den Index angesprochen werden:
i=1 ... .Count
.PivotItems(i)
oder so. Hilft das weiter?

Gruß HW

nach oben   nach unten

Re: Pivot
von: gabi
Geschrieben am: 23.05.2002 - 10:08:40

Hallo HW,
ich habe mehrere Pivot-Erstellungen nacheinander. Es geht um Auswertungen von Gebührenaufkommen von Nebenstellen. Jeder Abteilung (davon gibt es viele) sind bestimmte NSt zugeordnet für die ein Gebührenaufkommen vorliegt oder auch nicht, dann erscheint diese NSt auch nicht in der auszuwertenden Datenbank. Darum:

On Error Resume Next ' falls RNr nicht vorkommt Next
With ActiveSheet.PivotTables("PivotTable3").PivotFields("A-Teilnehmer")
.PivotItems("7515097").Visible = True
.PivotItems("7515097101").Visible = True
.PivotItems("7515097102").Visible = True
.PivotItems("7515097106").Visible = True
usw.
usw.

Wenn ich für diese ausgewählten Pivot-Felder eine Gruppierung vorgenommen habe (Pivot Nr.1) muss ich diese im nächsten Durchlauf (Pivot2) zuvor löschen (.False) bevor ich mit .True eine neue Gruppierung vornehme. Da dies sehr viele NSt pro Abteilung sind ist das Makro(es funktioniert) durch die vielen .False-Einträge sehr unübersichtlich und suche deshalb nach einer eleganteren Lösung.

Vielleicht kannst du deinen Vorschlag in Anlehnung an dieses Bsp. konkretisieren
Vielen Dank
Gabi

nach oben   nach unten

Re: Pivot
von: haribo
Geschrieben am: 23.05.2002 - 12:36:20

Hmm mal sehen ob ich es verstanden habe.
Du willst die Elemente nicht löschen sondern nur nicht anzeigen oder? Und da es bei Office 2000 noch keine Möglichkeit gibt (wie im Gegensatz zu XP) Alle Elemente auf einmal auszublenden suchst du nach einer Möglichkeit dies per VBA zu machen.
Also dafür gibt es folgenden Ansatz:

x = 1
For Each PivotItem In ActiveSheet.PivotTables("PivotTable3") _
.PivotFields"A-Teilnehmer").PivotItems
If x <> 1 Then
With PivotItem
.Visible = False
End With
Else
x = x + 1
End If
Next

Dieses x und die IF-Abfrage brauchst du, weil du immer mindestens 1 PivotElement anzeigen musst, sonst gibts nen kleinen Debug-Fehler.

nach oben   nach unten

Super! Danke das hab ich gesucht
von: gabi
Geschrieben am: 23.05.2002 - 20:57:36

Schönen Abend an haribo

 nach oben

Beiträge aus den Excel-Beispielen zum Thema "Hilfedatei erzeugen"