VBA Schleife um ein Pivotfield zu durchlaufen
#1
Guten Tag
Im Anhang habe ich eine Datei, die eine Pivottabelle durchläuft und zwar das Pivotfield "Basin".
Ich habe folgende Probleme, die ich leider nicht lösen kann:
Zum existierenden Beispiel:
a) Wenn das letzte Pivotitem durchlaufen ist, sollte es wieder auf "(All)" zurückspringen. Tut es aber nicht. Lösung?
b) Wie kann auch das Ergebnis von "(All)" in das andere Tabellenblatt geschrieben werden?
Modifizierung des Beispiels:
Ich möchte nun, dass die Schleife nicht mehr "Basin" durchläuft, sondern jedes Pivotitem in "ProductGroup" und die jeweiligen Resultate in das andere Tabellenblatt schreibt.
Was muss ich dazu im existierenden VBA code ändern?
Vielen Dank für jegliche Hilfe
Heinz


Angehängte Dateien
.xlsm   Example11.xlsm (Größe: 370,93 KB / Downloads: 6)
Antworten Top
#2
z.B.

Code:
Sub M_snb()
   With Sheets("pivot").PivotTables("PivotTable1").PivotFields("Basin")
     n = .PivotItems.Count + 1
     For Each it In .PivotItems
       p = p + 1
       it.Parent.CurrentPage = it.Name
       For j = 3 To 6
         With Sheets("Summary")
           .Cells(j - 1, 1) = it.Name
           .Range("B1:I1").Offset(p + n * (j - 3)) = Sheets("GAP").Range("D3:K3").Offset(4 * (j - 3)).Value
         End With
       Next
     Next
     .CurrentPage = "(All)"
     .EnableMultiplePageItems = True
   End With
End Sub
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#3
Hallo snb,
Vielen Dank für die schnelle Antwort zu Punkt a).
Prinzipiell funktioniert der code, allerdings schreibt es mir in Spalte A im Tabellenblatt "Summary" in die vier ersten Zeilen A2 bis A5 stets den Namen des letzten pivotitems von Basin, das durchlaufen wird.
Dort in Spalte A sollte natürlich jeweils der Name des einzelnen durchlaufenen pivotitems von "Basin" stehen, also mit dem VBA code mit erfasst werden
Wie kann man Ihren Vorschlag modifizieren?
Gruss
Heinz
Antworten Top
#4
Zitat:Wie kann man Ihren Vorschlag modifizieren?

Code analysieren (Gehirnmäßig) und anpassen (Handmäßig).
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste