Pivot VBA automatsiche Auswahl

19/10/2009 - 10:48 von Thom | Report spam
Hallo zusammen

Ich habe folgende Frage. In der Pivot Tabelle habe ich in der "Col2" einige
Kundennamen. Davon benötige ich nur ein oder zwei zur Auswertung. Dies sind
immer die Gleichen. Habe dies auf verschiedene Arbeitsblàtter verteilt. Pro
Kunde eben. Habe mir ein Makro erstellt der jeweils das Arbeitsblatt
selektiert und dort nur den oder die gewünschten Kundennamen auswàhlt.
Dieses Prozedere, weil ja nach einem Datenupdate der Quelldaten die
Selektion in der Pivot Tabelle nicht mehr stimmt und wieder neu gesetzt
werden muss.

Sheets("KundeA").Select
Range("A4").Select
ActiveSheet.PivotTables("PivotTable1").PivotCache.Refresh
With ActiveSheet.PivotTables("PivotTable1").PivotFields("COL2")
.PivotItems(" ").Visible = True
.PivotItems("KundeA").Visible = True
.PivotItems(" ").Visible = False
End With
Sheets("Import").Select
End Sub

Im Arbeitsblatt "KundeA" ist zwar "KundeA" angewàhlt, jedoch auch noch
verschiedene andere auch.

Was mach ich falsch? Danke im Voraus für Tipps

Gruss Thom
 

Lesen sie die antworten

#1 Thomas Ramel
19/10/2009 - 18:37 | Warnen spam
Grüezi Thom ;-)

Thom schrieb am 19.10.2009

Ich habe folgende Frage. In der Pivot Tabelle habe ich in der "Col2" einige
Kundennamen. Davon benötige ich nur ein oder zwei zur Auswertung. Dies sind
immer die Gleichen. Habe dies auf verschiedene Arbeitsblàtter verteilt. Pro
Kunde eben. Habe mir ein Makro erstellt der jeweils das Arbeitsblatt
selektiert und dort nur den oder die gewünschten Kundennamen auswàhlt.
Dieses Prozedere, weil ja nach einem Datenupdate der Quelldaten die
Selektion in der Pivot Tabelle nicht mehr stimmt und wieder neu gesetzt
werden muss.

Sheets("KundeA").Select
Range("A4").Select
ActiveSheet.PivotTables("PivotTable1").PivotCache.Refresh
With ActiveSheet.PivotTables("PivotTable1").PivotFields("COL2")
.PivotItems(" ").Visible = True
.PivotItems("KundeA").Visible = True
.PivotItems(" ").Visible = False
End With
Sheets("Import").Select
End Sub

Im Arbeitsblatt "KundeA" ist zwar "KundeA" angewàhlt, jedoch auch noch
verschiedene andere auch.

Was mach ich falsch?



Du blendest alle nicht gewünschten nicht aus, sondern nur KundeA ein.

Ich würde eine andere Vorgehensweise pràferieren:

Erstelle in der Datenquelle eine Hilfsspalte in der du mit einer einfachen
Formel bei allen Kunden eine Markierung setzt, die Du gerne in den PT's
auswerten willst.
Das kannst Du z.B. über eine Auflistung der gewünschten Kunden und einen
SVWERWEIS() sehr einfach erreichen.

Erweitere dann die Datenquelle der PT's um diese Spalte und ziehe dieses
neue Feld in den Seitenbereich der PT.
Wàhle nun noch deine Markierung aus und lasse im Feld 'COL2' alle Eintràge
eingeblendet.

Wenn Du nun nach anderen Kunden auswerten willst, dann passe einfach die
oben erwàhnte Liste an - der SVERWEIS() wird dann die Markierung neu setzen
und Du brauchst nur die PT's zu aktualisieren.


Das ist IMO einfacher als mit VBA zu hantieren und bietet erst noch mehr
Flexibilitàt.


Mit freundlichen Grüssen
Thomas Ramel

- MVP für Microsoft-Excel -
[Vista Ultimate SP-1 / xl2007 SP-1]

Ähnliche fragen