Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA Referenzierung Pivottabelle

VBA Referenzierung Pivottabelle
11.01.2015 16:11:10
Heinz
Hallo,
Ich möchte in angehängter Beispieldatei per VBA zu der exemplarisch gekennzeichneten Zelle und dessen Zellwert referenzieren.
Das wird wohl nur mit intersection gehen?
Den ersten Teil dazu habe ich mit folgendem Code versucht, allerdings markiert dieser Code mir den gesamten Bereich von "BD North", nicht nur die relevante Spalte von "weight (ton)".
Wie muss der richtige Code lauten, um den in der Pivottabelle angezeigten Wert in Zelle E21 per VBA zu erhalten?
Anschliessend soll dieser Wert in ein neues Tabellenblatt geschrieben werden.
Dieser code sollte ja dann auch für anderen entsprechende Zellen (mit entsprechender Bezugsänderung/Referenzierung gültig sein.
Vielen Dank für jegliche Hilfe.
Gruss, Heinz
https://www.herber.de/bbs/user/94930.xlsx

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

Betreff
Datum
Anwender
Anzeige
AW: VBA Referenzierung Pivottabelle
11.01.2015 21:34:08
Luschi
Hallo Heinz,
das klappt in Vba so:

Sub machMal()
Dim pt As PivotTable
Dim rg As Range
Set pt = Sheet2.PivotTables(1)
Set rg = pt.GetPivotData("Weight (ton)", "Market Division", _
"Auto", "BD", "BD NORTH", _
"Customer Aggregate 3", "TRUCKS")
MsgBox rg.Address
MsgBox rg.Value
rg.Select
Set rg = Nothing
Set pt = Nothing
End Sub
Bei dieser Definition hilft Excel gewaltig mit. Warum, zeigt dieses Video:
https://www.youtube.com/watch?v=21wrdnVyLxM (ab 2:36)
Gruß von Luschi
aus klein-Paris

AW: VBA Referenzierung Pivottabelle
12.01.2015 12:17:44
Heinz
Hallo Luschi
Vielen Dank für deine Antwort und Hilfe.
Leider habe ich vergessen meinen Ansatz in meinem Text zu schreiben: er ist:
Sub getPivotTableData()
Dim PvtTbl As PivotTable
Set PvtTbl = Worksheets("Pivot_CA3COPG").PivotTables("PivotTable1")
PvtTbl.PivotFields("BD").PivotItems("BD North").DataRange.Select
End Sub
Das "Problem", das ich mit deinem Ansatz habe, ist: dies müsste ich dann für jedes einzelne Element wie "Trucks" machen, aber in meiner Originaldatei habe ich ziemlich viele dieser Elemente (50 mindestens). Und ich möchte basierend auf diesen referenzierten Werten Kalkulationen mit VBA machen (wie in Spalte T des Tabellenblatts zum Beispiel gemacht).
Vielleicht hast du eine Idee dazu?
Aber vielen Dank nochmals für deinen Ansatz und deine Hilfe.
Gruss, Heinz

Anzeige
AW: VBA Referenzierung Pivottabelle
12.01.2015 14:01:42
Luschi
Hallo Heinz,
ich habe dazu folgenden Vorschlag:
- übernimm aus der anliegenden txt-Datei die beiden Makros in Deine schon mal geschickte
  Demodatei
- starte das Makro 'machMal_2'
- dann sind alle Filter aus- und Detailansichten eingeschaltet
- dann kontrolliere die Formeln in Spalte 'T' und lasse sie in der Schreibweise
wie sie jetzt schon sind (also ohne PivotDatenZuordnen(...)
- ich schreibe Dir dann ein Makro, wie man solche Formeln in
PivotDatenZuordnen unwandelt
- Dieses Verfahren verwende ich immer, weil die reine Vba-Auswertung für die Katze ist,
wenn sich die Struktur der Ausgangsdaten ändert.
https://www.herber.de/bbs/user/94944.txt
Gruß von Luschi
aus klein-Paris

Anzeige
AW: VBA Referenzierung Pivottabelle
12.01.2015 18:32:29
Heinz
Vielen Dank für deine Mühe, das ist sehr nett.
Anbei die Demodatei, mit deinen Makros.
Ich denke, dass ich nach deiner neuen Arbeit das auch für die Formeln in Spalte U etc anwenden kann?
Nochmals herzlichen Dank vorab.
Viele Grüsse, Heinz
https://www.herber.de/bbs/user/94950.xlsm

308 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige