Anzeige
Archiv - Navigation
1364to1368
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
Inhaltsverzeichnis

Pivot Sortier (fcs code)

Pivot Sortier (fcs code)
25.06.2014 14:47:05
Marc
Hallo,
leider ist der vorhergehende Post zu und ich kann nicht nachtragen.
https://www.herber.de/forum/archiv/1364to1368/t1366457.htm (noch mit falscher Beispielmappe).
Habe aber gesehen dass Franz (fcs) seit heute wieder online ist :=)
Danke fcs für Deine Antwort. Die Top 10 Filter Abfrage lasse ich nun manuell machen.
Es ging darum es dem "Management" zu erleichtern (es sind nicht alle Excel Profis):)
NUn habe ich Deinen Code fest verdrahtet und das Tool mit einigen kleinen Makros läuft klasse :=)
Jedoch habe ich noch ein Problem was ich mal mit Dummy Daten nachgestellt habe:
https://www.herber.de/bbs/user/91174.xlsm
Die Sortierung klappt an dieser Stelle irgendwie nicht.
Zum HIntergrund. Es gibt eine Hilfpivot und eine 2. Pivot die sich auf die erste bezieht. Die Auswahl erfolgt in der ersten, die relevanten Daten spuckt die 2. Pivot aus. Diese möchte / muss ich dann auch sortieren.
Ziel sind Ranking Tabellen für Produkte (sortiert nach Budgetabweichungen!) bei denen man nach der Sortierung sofort die schlechten / guten Produkte erkennt.
Vlt. kannst Du mir helfen? Ich würde das Problem so gerne lösen!
Viele Grüße,
Marc

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Pivot Sortier (fcs code)
25.06.2014 15:45:49
fcs
Hallo Marc,
ich bin jetzt aus meinem Kurzurlaub in die Internet-Diaspora zurück.
Hier ein Makro, das ohne weitere Anwenderaktion ausgeführt wird, wenn in der 1. Pivottabelle eine Aktualisierung erfolgt.
Diese Sortierung ist so speziell, dass sie mit meiner bisherigen Lösung nicht immer korrekt ausgeführt wird.
Mit der Ziffer in Klammern von ".PivotColumnAxis.PivotLines(1)" kannst du festlegen nach welcher Spalte im Datenbereich sortiert werden soll.
1 = PLAN minus IST
2 = PLAN minus IST in %
3 = PLAN
4 = IST
Gruß
Franz
'Makro unter Tabellenblatt "Pivots"
Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)
Select Case Target.Name
Case "PivotTable1"
With ActiveSheet.PivotTables("PivotTable2")
.RefreshTable
.PivotFields("Produkt").AutoSort xlDescending, "  pro Stk.", _
.PivotColumnAxis.PivotLines(1), 1
End With
Case Else
'do nothing
End Select
End Sub

Anzeige
AW: Pivot Sortier (fcs code)
28.06.2014 15:41:41
Marc
Hallo Franz,
danke für Deine Antwort. Na Bist in der Diaspora nicht schlecht gefragt. Aber ein bisschen Urlaub und Ruhe muss auch mal sein!
So ganz habe ich das mit dem Code nicht hinbekommen.
Ich habe jetzt erstmal folgende Lösung. Wenn ich das PLan minus IST (abs. oder in %) als erste Spalte gestalte, dann klappt die Sortierung mit aufgezeichnetem Makro. Nachteil ist, dass man es wie gesagt an den Anfang stellen muss.
https://www.herber.de/bbs/user/91301.xlsm
Ich würde schon gern Dein Makro einbauen. Meinst Du man kann den USer per Msg.box die Zahl eingeben lassen? Dann kann er sich selbst die zu sortierende Spalte aussuchen.
Wie immer danke!

Anzeige
AW: Pivot Sortier (fcs code)
30.06.2014 12:25:13
fcs
Hallo Marc,
mit folgenden Anpassungen kann man die Spalte nach der sortiert werden soll per Zifferneingabe auswählen.
Gruß
Franz
'Makro unter Tabellenblatt "Pivots"
Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)
Dim Auswahl
Select Case Target.Name
Case "PivotTable1"
With ActiveSheet.PivotTables("PivotTable2")
.RefreshTable
With .PivotFields("Version").LabelRange
Auswahl = Application.InputBox(Prompt:="Bitte geben Sie die Ziffer " _
& "für die zu sortierende Spalte ein" & vbLf _
& "1 = " & .Cells(2, 1).Text & vbLf _
& "2 = " & .Cells(2, 2).Text & vbLf _
& "3 = " & .Cells(2, 3).Text & vbLf _
& "4 = " & .Cells(2, 4).Text, _
Title:="2. Pivot sortieren nach Version (absteigend)", _
Default:=1, Type:=1)
End With
If Auswahl = False Then
'do nothing
Else
Select Case Auswahl
Case 1 To 4
.PivotFields("Produkt").AutoSort xlDescending, "  pro Stk.", _
.PivotColumnAxis.PivotLines(Auswahl), 1
Case Else
MsgBox "Falsche Auswahl für Sortierung"
End Select
End If
End With
Case Else
'do nothing
End Select
End Sub

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige