Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1392to1396
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

Pivottabelle mit dynamischer Sortierung

Pivottabelle mit dynamischer Sortierung
17.11.2014 17:16:40
Philipp
Hallo Excel-Cracks,
nachdem dieses Forum mir in vielen VBA-Problemen aus der Patsche geholfen hat, konnte ich zu meinem aktuellen Problem leider keinen Beitrag finden.
Ich habe eine Auswertung, die unter anderem Einnahmen und Stückzahlen beinhaltet. Diese Auswertung ist Basis für eine Pivottabelle.
Jetzt habe ich mir einen Bericht gestrickt, der die Top 20 Kunden aus der Pivottabelle übernehmen soll. Daraus ergeben sich 2 Fragen:
1) Kann ich auch mit der Funktion PIVOTDATENZUORDNEN eine Sortierung vornehmen oder muss ich den Pivotbericht sortieren und kann dann aber nur mit Verweisen auf die ersten 20 Zeilen des Berichts arbeiten?
2) Je nachdem ob ich nach "Einnahmen" oder "Stückzahl" sortiere, ergeben sich andere Top 20 Kunden. Gibt es die Möglichkeit, in meinem Bericht eine Zelle z.B. mit einem Dropdown-Menu zu versehen, welches das Sortierkriterium der Pivottabelle beinhaltet? Die Pivot würde dann also automatisch umsortiert (und damit auch die Kunden in meinem Bericht), wenn ich von "Einnahmen" auf "Stückzahl" umstelle.
Freue mich auf eure Rückmeldungen.
Viele Grüße,
Philipp

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Pivottabelle mit dynamischer Sortierung
18.11.2014 14:38:19
fcs
Hallo Philipp,
zu 1)
Mit Funktion PIVOTDATENZUORDNEN kann man nicht sortieren.
zu 2)
Man kann das Ereignis "Änderung des Wertes in einer Zelle" im Berichtsblatt nutzen, um den Filter und die Sortierung des Pivotberichtes per Makro entsprechend zu ändern.
Gruß
Franz
'Code im VBA-Editor unter dem Tabellenblatt mit dem Bericht
Private Sub Worksheet_Change(ByVal Target As Range)
Dim strPivotField As String, strDataField As String
Dim pvTab As PivotTable
If Target.Address(False, False) = "C4" Then 'Zelle ggf. anpassen
'C4 = Zelle mit Datengültigkeitsprüfung Liste/Dropdown - Umsatz;Stück
'In Pivotbericht TOP 20 für Einnahmen/Stückzahl berechnen und Tabelle sortieren.
'Pivotbericht setzen - Tabellennamen / IndexNr der Pivottabelle - ggf. anpassen
Set pvTab = Worksheets("Tabelle2").PivotTables(1)
'Name des Pivot-Felds - ggf. anpassen
strPivotField = "Kunde"
'Name des Daten-Felds setzen - ggf. anpassen
Select Case Target.Value
Case "Einnahmen"
strDataField = "Summe von Einnahmen"
Case "Stückzahl"
strDataField = "Summe von Stückzahl"
End Select
If strDataField  "" Then
With pvTab.PivotFields(strPivotField)
.ClearAllFilters
.PivotFilters.Add Type:=xlTopCount, _
DataField:=pvTab.PivotFields(strDataField), _
Value1:=20
.AutoSort xlDescending, strDataField
End With
End If
End If
End Sub

Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige