AW: Pivottabelle mit Makro erstellen
23.06.2005 13:07:58
Inge
Danke schonmal fuer die Antworten.
Das unten (ganz unten) ist der Code, den ich verwende. Die Fehlermeldung lautet: "Run Time Error '1004'Addfields method of PivotTable class failed". Wenn man dann in VBA schaltet, wird dieser Teil des Makros hervorgehoben:
ActiveSheet.PivotTables("PivotTable4").AddFields RowFields:=Array( _
"Cost elem.", "Cost element name", "Lotus cost element name"), ColumnFields:= _
"Name of offsetting account", PageFields:="Per"
Was ist falsch? Ich vermute, dass es mit der Datenrange fuer die Pivottabelle zusammenhaengt, denn diese Fehlermeldung erscheint nur, wenn ich die Daten ueber "alle Zeilen auswaehlen" auswaehle. Wenn ich nur den Datenbereich im Sheet markiere, klappt es. Allerdings bringt mir das nichts, da sich die Datenrange monatlich um eine unterschiedliche Anzahl Zeilen erweitert und die Erweiterung dann nicht in die Pivottabelle uebernommen wird.
Danke fuer Eure Antworten!
Gruesse,
Inge
Sub Pirol()
' Pirol Macro
' Macro recorded 23/06/2005 by agrist01
' Keyboard Shortcut: Ctrl+p
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
"'Raw Data'!C1:C8").CreatePivotTable TableDestination:="", TableName:= _
"PivotTable4"
ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1)
ActiveSheet.Cells(3, 1).Select
ActiveSheet.PivotTables("PivotTable4").SmallGrid = False
ActiveSheet.PivotTables("PivotTable4").AddFields RowFields:=Array( _
"Cost elem.", "Cost element name", "Lotus cost element name"), ColumnFields:= _
"Name of offsetting account", PageFields:="Per"
ActiveSheet.PivotTables("PivotTable4").PivotFields(" Val.in rep.cur."). _
Orientation = xlDataField
Application.CommandBars("PivotTable").Visible = False
ActiveSheet.PivotTables("PivotTable4").PivotSelect _
"'Cost element name'[All;Total]", xlDataAndLabel
ActiveSheet.PivotTables("PivotTable4").PivotFields("Cost element name"). _
Subtotals = Array(False, False, False, False, False, False, False, False, False, False, _
False, False)
ActiveSheet.PivotTables("PivotTable4").PivotSelect "'Cost elem.'[All;Total]", _
xlDataAndLabel
ActiveSheet.PivotTables("PivotTable4").PivotFields("Cost elem.").Subtotals = _
Array(False, False, False, False, False, False, False, False, False, False, False, False)
Range("D5").Select
ActiveSheet.PivotTables("PivotTable4").PivotFields( _
"Count of Val.in rep.cur.").
Function = xlSum
Sheets("Sheet2").Select
Sheets("Sheet2").Name = "costs by name"
End Sub