Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
120to124
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
120to124
120to124
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Pivot

Pivot
23.05.2002 09:06:19
gabi
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.

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Pivot
23.05.2002 09:24:37
Hans W. Hofmann
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

Re: Pivot
23.05.2002 10:08:40
gabi
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

Anzeige
Re: Pivot
23.05.2002 12:36:20
haribo
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.

Anzeige
Super! Danke das hab ich gesucht
23.05.2002 20:57:36
gabi
Schönen Abend an haribo

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige