Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1524to1528
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

VBA für Pivot

VBA für Pivot
22.11.2016 15:01:36
Matthias
Hey liebe Experten :)
ich sitz seit ein paar stunden an dem Versuch für das Erstellen einer Pivot-Tabelle ein Makro zu schreiben...
Bin leider noch Anfänger und versuch das ganze durch lesen von Forumseinträgen etc. hinzubekommen :) Ich hab einen code der allerdings noch an 2 stellen nicht funktioniert.
1) Das Datenfeld klappt nicht - Laufzeitfehler 1004 "Die PivotFields-Eigenschaft des PivotTable Objektes kann nicht zugeordnet werden."
2) Er gibt mir eine merkwürdige (denke mal veraltete) Anzeigeversion --> hier will ich aber das aktuelle und ich hab gelesen das es über DefaultVersion geht
Hier mein Code:
  • 
    Sub x()
    Dim pc As PivotCache, pv As PivotTable, rngSrc As Range, rngDst As Range
    Set rngSrc = Range("A1").CurrentRegion
    Set rngDst = Worksheets.Add(Before:=Sheets("Testdaten")).Range("A1")
    Set pc = ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:=rngSrc.Address,   _
    _
    Version:=xlPivotTableVersion14)
    Set pv = pc.CreatePivotTable(TableDestination:=rngDst, TableName:="Testpivot",  _
    DefaultVersion:=xlPivotTableVersion14)
    With pv.PivotFields("A2")
    .Orientation = xlRowField
    .Position = 1
    End With
    With pv.PivotFields("A1")
    .Orientation = xlRowField
    .Position = 2
    End With
    With pv.PivotFields("B")
    .Orientation = xlColumnField
    .Position = 1
    End With
    With pv.PivotFields("D")
    .Orientation = xlDataField
    .
    
    
    Function = xlSum
    .NumberFormat = "#,##0"
    .Position = 1
    End With
    ActiveWorkbook.ShowPivotTableFieldList = False
    Application.CommandBars("PivotTable").Visible = False
    End Sub
    


  • Hoffe es kann mir einer helfen :)
    Grüße Matthias

    1
    Beitrag zum Forumthread
    Beitrag zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: VBA für Pivot
    27.11.2016 00:36:04
    fcs
    Hallo Mathias,
    der Fehler 1004 muss von Schreibfehlern bei den Feldnamen/Spaltentiteln herrühren.
    Beim Berichslayout gibt es unter Excel 2010 und meines Wissens auch 365(Excel 2016) 5 Varianten. Da muss du dir das passende im Code aussuchen.
    Gruß
    Franz
    Sub x()
    Dim pc As PivotCache, pv As PivotTable, rngSrc As Range, rngDst As Range
    Set rngSrc = Range("A1").CurrentRegion
    Set rngDst = Worksheets.Add(Before:=Sheets("Testdaten")).Range("A1")
    Set pc = ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, _
    SourceData:=rngSrc.Address)
    Set pv = pc.CreatePivotTable(TableDestination:=rngDst, TableName:="Testpivot", _
    DefaultVersion:=xlPivotTableVersion14)
    With pv.PivotFields("A2")
    .Orientation = xlRowField
    .Position = 1
    End With
    With pv.PivotFields("A1")
    .Orientation = xlRowField
    .Position = 2
    End With
    With pv.PivotFields("B")
    .Orientation = xlColumnField
    .Position = 1
    End With
    With pv.PivotFields("D")
    .Orientation = xlDataField
    .Function = xlSum
    .NumberFormat = "#,##0"
    .Position = 1
    End With
    ' Pivotvariationen - Berichtslayout
    With pv
    .RowAxisLayout xlCompactRow
    .RowAxisLayout xlOutlineRow
    .RowAxisLayout xlTabularRow
    .RepeatAllLabels xlRepeatLabels
    .RepeatAllLabels xlDoNotRepeatLabels
    End With
    ActiveWorkbook.ShowPivotTableFieldList = False
    Application.CommandBars("PivotTable").Visible = False
    End Sub
    

    Anzeige

    Links zu Excel-Dialogen

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige