Ich arbeite mich gerade in VBA ein und wollte ein Makro für eine Tabellenpivotierung aufzeichnen. Die Tabelle enthält Filter, welche untereinander stehen. Bei der Wiedergabe des Makros stehen die Filter dann aber nebeneinander, also in derselben Zeile - sie sollten aber untereinander in derselben Spalte sein. Hat jemand eine Lösung?
Den Befehl ".AllowMultipleFilters = False" habe ich in ".AllowMultipleFilters = True" umgewandelt, ohne dass sich etwas geändert hat.
Sub Makro10()
'
' Makro10 Makro
'
'
Application.CutCopyMode = False
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"Datensatz!R1C1:R1048576C61", Version:=6).CreatePivotTable TableDestination _
:="Tabellenband_erstellen!R5C2", TableName:="PivotTable18", DefaultVersion _
:=6
Sheets("Tabellenband_erstellen").Select
Cells(5, 2).Select
With ActiveSheet.PivotTables("PivotTable18")
.ColumnGrand = True
.HasAutoFormat = True
.DisplayErrorString = False
.DisplayNullString = True
.EnableDrilldown = True
.ErrorString = ""
.MergeLabels = False
.NullString = ""
.PageFieldOrder = 2
.PageFieldWrapCount = 0
.PreserveFormatting = True
.RowGrand = True
.SaveData = True
.PrintTitles = False
.RepeatItemsOnEachPrintedPage = True
.TotalsAnnotation = False
.CompactRowIndent = 1
.InGridDropZones = False
.DisplayFieldCaptions = True
.DisplayMemberPropertyTooltips = False
.DisplayContextTooltips = True
.ShowDrillIndicators = True
.PrintDrillIndicators = False
.AllowMultipleFilters = False
.SortUsingCustomLists = True
.FieldListSortAscending = False
.ShowValuesRow = False
.CalculatedMembersInFilters = False
.RowAxisLayout xlCompactRow
End With
With ActiveSheet.PivotTables("PivotTable18").PivotCache
.RefreshOnFileOpen = False
.MissingItemsLimit = xlMissingItemsDefault
End With
ActiveSheet.PivotTables("PivotTable18").RepeatAllLabels xlRepeatLabels
ActiveSheet.PivotTables("PivotTable18").AddDataField ActiveSheet.PivotTables( _
"PivotTable18").PivotFields("AnalyseID"), "Summe von AnalyseID", xlSum
ActiveSheet.PivotTables("PivotTable18").AddDataField ActiveSheet.PivotTables( _
"PivotTable18").PivotFields("AnalyseID"), "Summe von AnalyseID2", xlSum
With ActiveSheet.PivotTables("PivotTable18").PivotFields("Datum_year")
.Orientation = xlPageField
.Position = 1
End With
With ActiveSheet.PivotTables("PivotTable18").PivotFields("Datum_month")
.Orientation = xlPageField
.Position = 1
End With
With ActiveSheet.PivotTables("PivotTable18").PivotFields( _
"regional/überregional")
.Orientation = xlRowField
.Position = 1
End With
With ActiveSheet.PivotTables("PivotTable18").PivotFields("Summe von AnalyseID")
.Caption = "Anzahl von AnalyseID"
.Function = xlCount
End With
With ActiveSheet.PivotTables("PivotTable18").PivotFields("Summe von AnalyseID2" _
)
.Caption = "Anzahl von AnalyseID2"
.Function = xlCount
.Calculation = xlPercentOfColumn
.NumberFormat = "0,00%"
End With
With ActiveSheet.PivotTables("PivotTable18").PivotFields("Mehrfachkodierung")
.Orientation = xlPageField
.Position = 1
End With
ActiveSheet.PivotTables("PivotTable18").PivotFields("Mehrfachkodierung"). _
ClearAllFilters
ActiveSheet.PivotTables("PivotTable18").PivotFields("Mehrfachkodierung"). _
CurrentPage = "1"
ActiveSheet.PivotTables("PivotTable18").PivotFields("Datum_month"). _
ClearAllFilters
ActiveSheet.PivotTables("PivotTable18").PivotFields("Datum_month").CurrentPage _
= "5"
ActiveSheet.PivotTables("PivotTable18").PivotFields("Datum_year"). _
ClearAllFilters
ActiveSheet.PivotTables("PivotTable18").PivotFields("Datum_year").CurrentPage _
= "2020"
End Sub
|