Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA für Pivot

Forumthread: 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
    Anzeige

    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
    ;

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Entdecke mehr
    Finde genau, was du suchst

    Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

    Suche nach den besten Antworten
    Unsere beliebtesten Threads

    Entdecke unsere meistgeklickten Beiträge in der Google Suche

    Top 100 Threads jetzt ansehen
    Anzeige