# VBA - Pivottabelle erstellen



## Trash (20. Januar 2012)

Moin,
ich habe eine Makroaufzeichnung gemacht, um zu sehen wie eine Pivot-Tabelle per VBA erzeugt wird.

Heraus kam z.B. u.a dies:


```
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
        "errorcode_data!R1C1:R746C1", Version:=xlPivotTableVersion12). _
        CreatePivotTable TableDestination:="Customer Spread!R14C1", TableName:= _
        "PivotTable4", DefaultVersion:=xlPivotTableVersion12
```

Wenn ich mein Makro ausführe, bleibt er hier gleich hängen und spuckt einen Laufzeitfehler #5. Wie kann das sein? Hat jemand eine Idee? Danke!


----------



## Yaslaw (20. Januar 2012)

Gibts zu #5 auch ein Text? oder sollen wir selber Goggeln was das für ein Text ist.

Ansonsten mal den Error-Text erzwingen. Wenn due deine funktion mal so strukturierst, dann hast du nachher den Fehlertext im Direktfenster und kannst ihn herauskopieren.

```
Public Sub [mySub]()
On Error GoTo Err_Handler

    [myCode]

    Exit Sub
Err_Handler:
    Debug.Print Err.Description
End Sub
```


----------



## Trash (20. Januar 2012)

Sorry. Es sagt: "Ungültiger Prozeduraufruf oder ungültiges Argument."

Ich glaube es liegt daran, dass "Customer Spread" ein Leerzeichen hat?

Ich habe aber nochmal eine Frage.

Und zwar sieht mein Code jetzt so aus:


```
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
        "errorcode_data!R1C1:R746C1", Version:=xlPivotTableVersion12). _
        CreatePivotTable TableDestination:="CustomerSpread!R14C1", TableName:= _
        "PivotTable4", DefaultVersion:=xlPivotTableVersion12
    Sheets("CustomerSpread").Select
    Cells(14, 1).Select
    ActiveSheet.PivotTables("PivotTable4").AddDataField ActiveSheet.PivotTables( _
        "PivotTable4").PivotFields("errorcode"), "Anzahl von errorcode", xlCount
    With ActiveSheet.PivotTables("PivotTable4").PivotFields("errorcode")
        .Orientation = xlRowField
        .Position = 1
    End With
```

Ich möchte gerne, dass die Pivot-Tabelle links den jeweiligen Errorcode anzeigt und rechts die Anzahl, wie häufig der Errrocode vorgekommen ist. Dieses Makro habe ich so aufgenommen. Wenn ich es nun aber selber laufen lasse, zeigt er mir immer nur die Gesamtanzahl an aber nicht die Beschreibung.
Warum ist das so? Überschreibt VBA da irgendwas und warum wird es dann so aufgenommen?


----------

