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

pivot-teilergebnisse - dynamisch referenzieren

pivot-teilergebnisse - dynamisch referenzieren
17.01.2008 20:58:00
sabsx
hi!
ich weiss, dass man mit der funktion GETPIVOTDATA("Pivotergebnis";$A$3;"Kunde";"Testkunde") auf Werte aus Pivottabellen zugreifen kann... nun moechte ich, dass anstatt der direkte Kundenname Testkunde auf das Feld, z.B. A15 zugegriffen wird, nur funktioniert das leider nicht bei den Zwischensummen pro Kunde...
Hat jemand hierfuer eine Loesung?
Danke & Lg,
Sabsx

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: pivot-teilergebnisse - dynamisch referenzieren
17.01.2008 22:13:02
Herby
Hallo Sabsx,
ich hab mal ein Beispiel gemacht, weil ich mir nicht sicher bin ob
ich dich richtig verstanden habe.
In dem Beispiel werden die Zwischensummen (Bereich Nord / West / Süd / Ost)
ausgelesen.
https://www.herber.de/bbs/user/49129.xls
Viele Grüße
Herby

AW: pivot-teilergebnisse - dynamisch referenzieren
18.01.2008 19:09:29
sabsx
hi!
ja des is genau was ich will, nur was bei dir so einfach nord, ost, west und süd ist sind bei mir ca. 300 verschiedene datenstämme... und von denen würde ich gerne die zwischenergebnisse dynamisch haben um dann mit Ihnen weiter zu rechnen...
kann man statt der Referenz "Nord" nicht eine Zelle verwenden?

Anzeige
AW: pivot-teilergebnisse - dynamisch referenzieren
19.01.2008 12:44:00
sabsx
also um es etwas genauer zu definieren, ich moechte in der Spalte neben der Pivottabelle nur die Zwischenergebnisse uebertragen (mittels Makro?), ohne aber genaue Namen wie Ost, West etc. referenzieren zu muessen...
danke + lg

AW: pivot-teilergebnisse - dynamisch referenzieren
19.01.2008 23:03:00
Herby
Hallo sabsx,
anbei nochmal das Beispiel, in etwas abgeänderter Variante.
Per Makro wird das Feld "Gebiet" ausgelesen und die zu den darin enthaltenen
Elementen (Nord/Süd/Ost/West) zugehörigen Zwischensummen ausgelesen.
Die Dynamik besteht darin, dass es egal ist wie der Name dieser Elemente ist.
Eine Alternative ohne VBA geht über die Zelle J2 mit dem Einsatz von Daten-Gültigkeit.
https://www.herber.de/bbs/user/49202.xls
Viele Grüße
Herby

Anzeige
AW: pivot-teilergebnisse - dynamisch referenzieren
20.01.2008 18:49:53
sabsx
Lieber Herby,
das Makro macht genau das was ich brauche... habs versucht für meine Zwecke umzubauen, allerdings verstehe ich die Zeile nicht wie du die Daten quasi kopierst...
mein "Gebiet" befindet heißt eig. Kunde2 und steht immer in Spalte A(Z=1?), mein Ergebnis heißt Total (eng. Excel), meine Subtotals stehen einmal in Spalte H (Z=8?), einmal in Spalte F und einmal in Spalte G. (Also in Summe 3 Tabellen die alle dasselbe Makro bekommen sollen...)
ich hab mal versucht deinen Orginalcode:
Option Explicit

Private Sub CommandButton1_Click()
Dim PivBereich As Range
Dim Zelle As Range
Dim Z As Integer
ActiveSheet.PivotTables(1).PivotFields("Gebiet").DataRange.Select
Z = 1
For Each Zelle In Selection
If Right(Zelle, 8) = "Ergebnis" Then
Z = Z + 1
Cells(Z, 5) = Zelle: Cells(Z, 6) = Zelle.Offset(0, 2)
End If
Next
End Sub


für einen meiner Fälle zu manipulieren, aber da tut sich gar nicht:
Option Explicit


Private Sub Button2_Click()
Dim PivBereich As Range
Dim Zelle As Range
Dim Z As Integer
ActiveSheet.PivotTables(1).PivotFields("Kunde2").DataRange.Select
Z = 1
For Each Zelle In Selection
If Right(Zelle, 1) = "Total" Then
Z = Z + 1
Cells(Z, 7) = Zelle: Cells(Z, 8) = Zelle.Offset(0, 2)
End If
Next
End Sub


kannst du mir erklären was diese Zeile Cells(Z, 7) = Zelle: Cells(Z, 8) = Zelle.Offset(0, 2) genau macht bzw lauten müsste damit ich auch das bekomme was ich brauche?
Vielen lieben Dank!

Anzeige
AW: pivot-teilergebnisse - dynamisch referenzieren
20.01.2008 23:00:00
Herby
Hallo sabsx,
in der Zeile
If Right(Zelle, 1) = "Total" Then
steckt ein Fehler. Müsste korrekt so lauten:
If Right(Zelle, 5) = "Total" Then
weil das Wort "Total" 5 Buchstaben hat.
Desweiteren weiss ich nicht, ob bei deiner Pivottabelle die
Werte der benötigten Zwischensummen immer 2 Spalten rechts
von "Kunde2" stehen. Wenn ich dich richtig verstehe ist das
nicht der Fall. (Kunde2 steht in Spalte A und die Zwischensummen
stehen in F bzw. G bzw. H.
Daher ist das Makro noch anzupassen. Ich hab dir mal eine kleine
Dokumentation dazu geschrieben.
Option Explicit

Private Sub CommandButton1_Click()
Dim PivBereich As Range
Dim Zelle As Range
Dim Z As Integer
'es wird nur der Bereich der Pivottabelle ausgewählt, in dem die Gebiete
' Nord/Ost/Süd/West liegen. Innerhalb dieser Auswahl wird jede Zelle durchsucht
' nach den Einträgen, die mit dem Zusatz "Ergebnis" enden. z.B.
' Nord Ergebnis oder Süd Ergebnis, denn in diesen Zeilen befindet sich die benötigte
' Zwischensumme. Diese ist 2 Zellen weiter rechts enthalten. Also ist dann der
' Inhalt dieser Zelle die gewünschte Zwischensumme.
' Im Einzelnen sieht das so aus:
ActiveSheet.PivotTables(1).PivotFields("Gebiet").DataRange.Select
' mit obiger Zeile wird die 1. Pivottabelle des aktiven Arbeitsblattes angesprochen.
' in dieser Tabelle wird dann der Datenbereich ausgewählt, den das Pivotfeld
' mit dem Namen "Gebiet" umfasst.
Z = 1
For Each Zelle In Selection
' mit obiger Zeile wird jede Zelle in der Auswahl durchlaufen
If Right(Zelle, 8) = "Ergebnis" Then
' falls die betreffende Zelle einen Eintrag enthält, dessen letzten 8 Buchstaben
'  mit dem Wort "Ergebnis" identisch sind, dann wurde ja die benötigte Zeile gefunden
Z = Z + 1
Cells(Z, 5) = Zelle: Cells(Z, 6) = Zelle.Offset(0, 2)
' In der gefundenen Zeile steht 2 Spalten weiter die benötigte Zwischensumme
' also von der aktuellen Zelle 2 Spalten nach rechts mit Zelle.Offset(0,2)
' diesen Wert dann weiterverarbeiten (in meinem Fall einer anderen Zelle zuweisen)
End If
Next
End Sub


Wenns nicht klappt, kannst du ja eine Musterpivottabelle mal hier hochladen.
Viele Grüße
Herby

Anzeige
Musterdatei
21.01.2008 19:46:54
sabsx
hi!
ich hab mich mal dran versucht aber habs nur geschafft zwar die Bezeichnung zu kopieren aber wenn ich den Wert haben will klappts gar nicht...
hab dafür jetzt mal ein Muster gemacht wie meine Basispivottabelle aussieht und wies werden soll...
https://www.herber.de/bbs/user/49244.xls
vielen dank & glg

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige