2016-08-03 21 views
0

Ich erstelle eine Pivot-Tabelle auf dem Makrorecorder und aus irgendeinem Grund mein Makro gibt mir diesen Fehler. Ich habe andere SO-Probleme bei diesem ähnlichen Fehler gelesen, aber keine der Lösungen scheint zu funktionieren. Hier ist der CodePivot-Tabelle Makro funktioniert nicht (Fehler 1004: Anwendung definiert oder Objekt definiert Fehler)

Sub macro5() 
' 
' macro5 Macro 
' 

' 
    Sheets.Add 
    ActiveWorkbook.Worksheets("Pivot").PivotTables("PivotTable1").PivotCache. _ 
     CreatePivotTable TableDestination:="Sheet5!R3C1", TableName:="PivotTable3" _ 
     , DefaultVersion:=xlPivotTableVersion12 
    Sheets("Sheet5").Select 
    Cells(3, 1).Select 
    With ActiveSheet.PivotTables("PivotTable3").PivotFields("Employee/app.name") 
     .Orientation = xlRowField 
     .Position = 1 
    End With 
    ActiveSheet.PivotTables("PivotTable3").AddDataField ActiveSheet.PivotTables(_ 
     "PivotTable3").PivotFields("  Hours"), "Sum of  Hours", xlSum 
End Sub 

ERROR HIER

ActiveWorkbook.Worksheets("Pivot").PivotTables("PivotTable1").PivotCache. _ CreatePivotTable TableDestination:="Sheet5!R3C1", TableName:="PivotTable3" _ , DefaultVersion:=xlPivotTableVersion12 
+0

Welche Codezeile gibt den Fehler, und was ist die Fehlerbeschreibung? Kann die PivotTables-Eigenschaft der Worksheet-Klasse nicht abgerufen werden? – Comintern

+0

Der Fehler ist einfach "application defined oder object defined error" wie der Titel. Ich bekomme auch einen Fehler auf dem ersten Block des Codes, nämlich ActiveWorkbook.Worksheets ("Pivot"). PivotTables ("PivotTable1"). PivotCache. _ CreatePivotTable TableDestination: = "Tabelle5! R3C1", TableName: = "PivotTable3" _ , DefaultVersion: = xlPivotTableVersion12 –

+0

Was sagt Ihnen der Debugger, wenn Sie den Code durchgehen? Welche ** spezifische Zeile ** verursacht den Fehler? –

Antwort

0

Versuchen Sie, die Pivot-Cache zuerst und dann die Pivot-Tabelle zu erstellen. Beispielcode-Snippet unten. Denken Sie auch daran, dass die Zielblätter bei jeder Ausführung ein eindeutiger Name sein müssen.

ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _ 
    "Pivot!R2C2:R6C5", Version:=xlPivotTableVersion14).CreatePivotTable _ 
    TableDestination:="Sheet5!R3C1", TableName:="PivotTabletest", DefaultVersion:=xlPivotTableVersion12 
+0

sehen Was ist Pivot-Cache? Könnten Sie auch den Code und das Format in dem, den ich gab, tabulatorisieren, damit es für mich einfacher ist, es zu verstehen? Ich kenne VBA nicht wirklich. –

+0

Nun wird ungültiger Prozeduraufruf oder Argument –

+0

ungültiger Prozeduraufruf angezeigt, wahrscheinlich, weil mein Beispiel xlPivotTableVersion14 (Excel 2010) anstelle von xlPivotTableVersion12 (Excel 2007) verwendet hat. Ich habe keinen Erfolg beim Ausführen von aufgezeichneten Makros für Pivots. – NapSolo