ich hoffe dieses Porblem ist nicht zu trivial. Ich möchte
gerne via VBA (in Excel 2000) in einer gegebenen Pivot
Tabelle in den PageFields testen ob ein PivotItem
ausgblendet wurde oder nicht und dieses dann auch per VBA
selber kontrollieren (also aus-/oder einblenden).
Leider finde ich weder eine Methode noch ein Property,
welches dafür zuständig ist!
Es wäre schön, wenn mir jemand den entsprechenden Tip
geben könnte.
Ach ja, ich habe auch schon versucht ein Makro
aufzuzeichnen welches mir den entsprechenden Hinweis geben
sollte. Leider ist dieses Makro nach Beendigung der
Aufzeichnung LEER!!! (Kein Code!)
Aktionen während der Aufzeichnung:
- Rechtsklick auf ein PageField
- Auswahl der Option "Feldeigenschaften" aus dem
Kontextmenü
- Anklicken der Items, welche ausgeblendet werden sollen
- OK, zum bestätigen
Die Folge: Die Items werden in der Pivot-Tabelle nicht
mitkalkuliert (PageFields(n).CurrentPage="(Alle)"), aber
wie gesagt, das Makro zeigt keinen Code...
Wäre schön, wenn jemand den "zündelnden" Gedanken hätte...
Gruß und Danke
Christian
Dim pvt As PivotTable
Set pvt = Tabelle1.PivotTables(1)
Dim pvf As PivotField
Set pvf = pvt.RowFields(1)
Dim pvis As PivotItems
Set pvis = pvf.VisibleItems
MsgBox pvis.Count
Dim pvi As PivotItem
Set pvi = pvis.Item(1)
MsgBox pvi.Name
MsgBox pvi.DataRange.Address
MsgBox pvi.Visible
Die Deklaration von pvis und pvi erlaubt kontextsensitives Programmieren
(alles unter 2000).
MfG EP
Werde ich etw den Workaround gehen müssen und das
PageField z.B. in ein RowField zu verschieben, dort die
Ein-/Ausblendungen vornehemen und dann das Field wieder in
den PageField zu transferieren (??? hmmm - umständlich)
und dann CurrentPage wieder auf (All) zu setzen??
Fals noch eine weitere Idee existiert, wäre ich froh, wenn
Ihr diese mit mir teilen würdet...
Danke nochmal im voraus
Gruß
Christian
>-----Originalnachricht-----
>.
>
Auch
Set pvis = pvf.HiddenItems
bringt die richtigen Resultate.
Gruss EP
"Christian Mzyk" <chri...@mzyk.de> schrieb im Newsbeitrag
news:068001c2c2da$741dbc00$d6f82ecf@TK2MSFTNGXA13...
Und leider ist dies genau mein Szenario (sorry, hab ich
nicht erwähnt!).
Leider bringen die "visible" Abfragen der PageFields nur
ein true für die Einträge, welche = "CurrentPage" sind.
Ich möchte jedoch gerne folgendes Problem lösen:
PageField: Quarter
CurrentPage: (All)
Item: Q1
Item: Q2
Item: Q3
Item: Q4
(In diesem Beispiel bekomme ich für alle Items ein "False")
Wenn ich statt (All) Q1 auswählen würde, wäre Q1(.visible)
=true und alle anderen = false.
Ich möchte aber folgendes:
PageField: Quarter
CurrentPage: (All)
Item: Q1 (ausgeblendet)
Item: Q2
Item: Q3 (ausgeblendet)
Item: Q4
Dass, obwohl (All) als Currentpage eingestellt ist, die
Kalkulation der PivotTabelle nur auf Q2 und Q4 basiert.
(also Q1=false, Q2=true, Q3=false, Q4=true)
Vielleicht war dies am Anfang nicht sehr deutlich
geworden - Entschuldigung!
Noch eine Idee vielleicht?
Gruß und Danke
Christian
>-----Originalnachricht-----
>.
>
Dim pvt As PivotTable
Set pvt = Tabelle1.PivotTables(1)
MsgBox pvt.PivotCache.CommandText
--
MfG Eckehard Pfeifer
Ich bin nun dabei ein Workaround zu Programmieren den ich
so eigentlich nicht wollte.
1. PageField nach RowField verschieben
2. Testen / Setzen der visible Eigenschaft der Items (denn
hier funktioniert es...)
3. Zurück nach PageField und setzen von CurrentPage = (All)
Umständlich, aber so funktionierts! Vielen Dank erneut für
die Hilfe!!!
MfG
Christian Mzyk
>-----Originalnachricht-----
>.
>