ich habe eine Pivot-Tabelle und habe folgendes Makro mit dem Rekorder aufgezeichnet:
Sub pivot_tables()
Dim location As String
Dim year As Integer
location = Worksheets("event detection").Range("B1")
ActiveSheet.PivotTables("PivotTable1").PivotFields("Freiburg 2017").Orientation = xlHidden
ActiveSheet.PivotTables("PivotTable1").PivotFields("Freiburg 2016").Orientation = xlHidden
ActiveSheet.PivotTables("PivotTable1").PivotFields("Freiburg 2015").Orientation = xlHidden
ActiveSheet.PivotTables("PivotTable1").PivotFields("Freiburg 2014").Orientation = xlHidden
ActiveSheet.PivotTables("PivotTable1").PivotFields("Freiburg 2013").Orientation = xlHidden
ActiveSheet.PivotTables("PivotTable1").PivotFields("Freiburg 2012").Orientation = xlHidden
ActiveSheet.PivotTables("PivotTable1").AddDataField ActiveSheet.PivotTables("PivotTable1"). _
PivotFields(location & " 2012"), "Summe von Kiel 2012", xlSum
ActiveSheet.PivotTables("PivotTable1").AddDataField ActiveSheet.PivotTables("PivotTable1"). _
PivotFields(location & " 2013"), "Summe von Kiel 2013", xlSum
ActiveSheet.PivotTables("PivotTable1").AddDataField ActiveSheet.PivotTables("PivotTable1"). _
PivotFields(location & " 2014"), "Summe von Kiel 2014", xlSum
ActiveSheet.PivotTables("PivotTable1").AddDataField ActiveSheet.PivotTables("PivotTable1"). _
PivotFields(location & " 2015"), "Summe von Kiel 2015", xlSum
ActiveSheet.PivotTables("PivotTable1").AddDataField ActiveSheet.PivotTables("PivotTable1"). _
PivotFields(location & " 2016"), "Summe von Kiel 2016", xlSum
ActiveSheet.PivotTables("PivotTable1").PivotCache.Refresh
ActiveSheet.PivotTables("PivotTable1").PivotFields("country").AutoSort _
xlDescending, "Summe von Kiel 2015"
End Sub
Nur diese 6 Felder gab es und ich habe bei allen das Häckchen manuell rausgenommen in der Feldliste während der Aufzeichnung.
Nun will ich ein Makro schreiben, das im PivotTable1 unabhängig vom Feldnamen alle Felder auf xlHidden setzt und aus einer festen range (eine Zelle mit location, hier: Kiel z. B. aus einem anderen event detection in B1) und aus einer variabel langen anderen range (die Jahre aus der Liste im sheet event detection in B19:B23, hier die Jahre 2012 bis 2016) sich die Informationen so zusammensetzt, dass er die richtigen Feldnamen auswählt ....
.... und als ob das schon nicht reicht noch die Tabelle nach dem Element absteigend sortiert, die Informationen unter sich hat. (Hier zum Beispiel sortiert er nach Kiel 2015, weil Kiel 2016 noch keine Informationen hat.)
Das mit location habe ich ja schon mal, aber wie geht es weiter?
Viele Grüße,
Kürsat