Ich war in der Lage, Pivot-Tabellen im Code zuvor zu erstellen, aber das Hinzufügen zu einem neuen Arbeitsblatt. Ich versuche jetzt, eine Pivot-Tabelle zu einem vorhandenen Arbeitsblatt hinzuzufügen und Fehlermeldung "Laufzeitfehler 1004: der PivotTable-Feldname ist ungültig" erhalten. Der Code ist unten, mein Fehler beginnt im letzten Segment beginnend mit ActiveWorkbook und endet mit xlPivotTableVersion14. Jede Hilfe würde sehr geschätzt werden.VBA: Erstellen einer Pivot-Tabelle
Public Sub AlliedPT()
Dim AlliedData As String
Dim SAProw As Long
Dim PivotSheet As String
Sheets("Sheet1").Select
SAProw = Cells(Rows.Count, "A").End(xlUp).Row
Sheets("Sheet1").Select
ActiveWorkbook.Names.Add Name:="AlliedData", RefersTo:= _
"=Sheet1!$A$1:$N$" & SAProw
Sheets("PivotSheet").Select
PivotSheet = ActiveSheet.Name
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"AlliedData", Version:=xlPivotTableVersion14).CreatePivotTable _
TableDestination:=PivotSheet & "!R3C6", TableName:="PivotTable18",
DefaultVersion _
:=xlPivotTableVersion14
End Sub
Nicht verwandt, aber * warum * setzen Sie einen Zeilenumbruch zwischen dem 'DefaultVersion' Parameternamen und dem': = xlPivotTableVersion14' Wert, den Sie ihm geben? –
Ich folgte dem Macro Recorder für diesen Schritt des Prozesses. Das sollte wahrscheinlich entfernt werden – oryan5000
Selbe für 'SourceData: =' und '" AlliedData "' - der Recorder ist ideal für die Erzeugung von beschissenen Code, sollten Sie es immer neu formatieren, so dass es mindestens minimal lesbar ist ;-) ... und ersetzen Sie alle das '.Select' mit Objektreferenzen und Memberaufrufen. –