1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

VBA - Pivottabelle erstellen

Dieses Thema im Forum "Visual Basic 6.0, VBA & VBScript" wurde erstellt von Trash, 20. Januar 2012.

  1. Trash

    Trash Erfahrenes Mitglied

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

    Heraus kam z.B. u.a dies:

    Code (Text):
    1.  
    2.  ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
    3.         "errorcode_data!R1C1:R746C1", Version:=xlPivotTableVersion12). _
    4.         CreatePivotTable TableDestination:="Customer Spread!R14C1", TableName:= _
    5.         "PivotTable4", DefaultVersion:=xlPivotTableVersion12
    6.  
    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!
  2. Yaslaw

    Yaslaw n/a Moderator

    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.
    Code (Visual Basic):
    1. Public Sub [mySub]()
    2. On Error GoTo Err_Handler
    3.  
    4.     [myCode]
    5.  
    6.     Exit Sub
    7. Err_Handler:
    8.     Debug.Print Err.Description
    9. End Sub
  3. Trash

    Trash Erfahrenes Mitglied

    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:

    Code (Text):
    1.  
    2.     ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
    3.         "errorcode_data!R1C1:R746C1", Version:=xlPivotTableVersion12). _
    4.         CreatePivotTable TableDestination:="CustomerSpread!R14C1", TableName:= _
    5.         "PivotTable4", DefaultVersion:=xlPivotTableVersion12
    6.     Sheets("CustomerSpread").Select
    7.     Cells(14, 1).Select
    8.     ActiveSheet.PivotTables("PivotTable4").AddDataField ActiveSheet.PivotTables( _
    9.         "PivotTable4").PivotFields("errorcode"), "Anzahl von errorcode", xlCount
    10.     With ActiveSheet.PivotTables("PivotTable4").PivotFields("errorcode")
    11.         .Orientation = xlRowField
    12.         .Position = 1
    13.     End With
    14.  
    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?
    Zuletzt von einem Moderator bearbeitet: 20. Januar 2012

Diese Seite empfehlen