Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1256to1260
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

Makro mit Pivo haut nicht hin

Makro mit Pivo haut nicht hin
Richard
Guten Tag,
ich versuche gerade einen Makro aufzunehmen welches eine Pivo Tabelle erstellt.
Wenn ich die Pivo manuell erstelle klappt alles wunderbar. Wenn ich aber das Makro abspiele kommt die Fehlermeldung:
" Die addfieldsmethode des pivotable objektes konnte nicht ausgeführt werden. Laufzeit 1004
Sub Makro11()
' Makro11 Makro
' Makro am 30.03.2012 von kovacsr aufgezeichnet
Cells.Select
Range("A7").Activate
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
"Tabelle2!C1:C5").CreatePivotTable TableDestination:="", TableName:= _
"PivotTable22", DefaultVersion:=xlPivotTableVersion10
ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1)
ActiveSheet.Cells(3, 1).Select
ActiveSheet.PivotTables("PivotTable22").AddFields RowFields:="Datum", _
ColumnFields:="Art"
ActiveSheet.PivotTables("PivotTable22").PivotFields("Art").Orientation = _
xlDataField
ActiveWorkbook.ShowPivotTableFieldList = True
End Sub

Folgender Teil ist makriert:
ActiveSheet.PivotTables("PivotTable22").AddFields RowFields:="Datum", _
ColumnFields:="Art"
Kann mir hierzu jemand helfen?
im vorraus vielen Dank für die Zeit und Mühe

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Makro mit Pivo haut nicht hin
01.04.2012 12:26:06
fcs
Hallo Richard,
Ich hab dein Makro unter Excel 2010 gettestet.
Das Problem liegt in der Schreibweise des Bereichs mit den Quelldaten für die Pivottabelle. Zusätzlich muss das Blatt mit den Quelldaten beim Start des Makros das aktive Blatt sein.
Der Bereich C1:C5 in R1C1-Schreibweise (Spalten A bis E) im aufgezeichneten Makro wird bei der Ausführung des Makros als C1:C5 in A1-Schreibweise interpretiert. Dadurch ist nur der Spaltentitel in Spalte C in der Feldliste der Pivottabelle vorhanden und es kommt zum Fehler, wenn andere Spaltentitel in die Pivot-Auwertung übernommen werden sollen.
Ich kann mich jetzt nicht mehr erinnern, ob Excel 2003 eine bestimmte Schreibweise im Makro-Code erfordert, muss du halt mal probieren. Unter Excel 2010 funktionieren beide Schreibweisen.
Evtl. kannst du ja auch das 2010er-Makro verwenden.
Gruß
Franz
Sub Makro11_Neu()
' Makro11 Makro
' Makro am 30.03.2012 von kovacsr aufgezeichnet
Worksheets("Tabelle2").Activate
'    Cells.Select
'    Range("A7").Activate
'mit Zellbereich der Quelldaten in R1C1-Schreibweise
'    ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
"Tabelle2!R1C1:R" & Worksheets("Tabelle2").Rows.Count & "C5").CreatePivotTable  _
TableDestination:="", _
TableName:="PivotTable22", DefaultVersion:=xlPivotTableVersion10
'mit Zellbereich der Quelldaten in A1-Schreibweise
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
"Tabelle2!A:E").CreatePivotTable TableDestination:="", _
TableName:="PivotTable22", DefaultVersion:=xlPivotTableVersion10
ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1)
ActiveSheet.Cells(3, 1).Select
ActiveSheet.PivotTables("PivotTable22").AddFields RowFields:="Datum", _
ColumnFields:="Art"
ActiveSheet.PivotTables("PivotTable22").PivotFields("Art").Orientation = _
xlDataField
ActiveWorkbook.ShowPivotTableFieldList = True
End Sub

Unter Excel 2010 erstelltes Makro zur Pivot-Erstellung
Sub Pivot_erstellen()
' Erstellt unter Excel 12
' Make_Pivot Makro
Dim strNewSheet  As String, strPivotName As String
Dim strQuelle As String, Zeile As Long
strPivotName = "MyPivotTable"   'Name des zu erstellenden Piovt-Tabellenberichts
strQuelle = "Tabelle2" 'oder = ActiveSheet.Name  'Name der Tabelle mit den Quelldaten
With Worksheets(strQuelle)
'letzte Zeile mit Daten in Tabelle
Zeile = .Cells.Find(what:="*", after:=.Range("A1"), Searchdirection:=xlPrevious).Row
End With
Worksheets.Add after:=Worksheets(strQuelle)      'Neue Tabelle für Pivot-Bericht
strNewSheet = ActiveSheet.Name
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"Tabelle2!R1C1:R" & Zeile & "C5", Version:=xlPivotTableVersion10).CreatePivotTable _
TableDestination:=strNewSheet & "!R3C1", TableName:=strPivotName, _
DefaultVersion:=xlPivotTableVersion10
With Worksheets(strNewSheet).PivotTables(strPivotName)
With .PivotFields("Datum")
.Orientation = xlRowField
.Position = 1
End With
.AddDataField .PivotFields("Art"), "Anzahl von Art", xlCount
With .PivotFields("Art")
.Orientation = xlColumnField
.Position = 1
End With
End With
Range("A3").Select
ActiveWorkbook.ShowPivotTableFieldList = True
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige