Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1476to1480
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-Pivot

VBA-Pivot
18.02.2016 10:33:03
Daniel
Hallo,
Ich habe ein Problem mit der Erstellung einer Pivot-Tabelle über VBA in Excel.
Nach dem ich den Makro-Recorder benutzt habe, bekomme ich immer wieder einen Debugging-Fehler im folgen Code:
Sub Test_8()
' Test_8 Makro
Application.CutCopyMode = False
Sheets.Add
 ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"Tabelle1!R5C2:R609C6", Version:=xlPivotTableVersion14).CreatePivotTable _
TableDestination:="Tabelle4!R3C1", TableName:="PivotTable7", _
DefaultVersion:=xlPivotTableVersion14
Sheets("Tabelle4").Select
Cells(3, 1).Select
With ActiveSheet.PivotTables("PivotTable7").PivotFields("DE")
.Orientation = xlRowField
.Position = 1
End With
With ActiveSheet.PivotTables("PivotTable7").PivotFields("CLA")
.Orientation = xlRowField
.Position = 2
End With
With ActiveSheet.PivotTables("PivotTable7").PivotFields("EOM (0300)")
.Orientation = xlColumnField
.Position = 1
End With
With ActiveSheet.PivotTables("PivotTable7").PivotFields("1")
.Orientation = xlPageField
.Position = 1
End With
ActiveSheet.PivotTables("PivotTable7").AddDataField ActiveSheet.PivotTables( _
"PivotTable7").PivotFields("0"), "Anzahl von 0", xlCount
End Sub
Im kursiv geschriebenen ist der Debugging-Fehler.
Beste Grüße

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA-Pivot
19.02.2016 07:15:17
fcs
Hallo Daniel,
das Makro muss bezüglich der Blattnamen dann via Variablen etwas allgemeiner formuliert werden.
Auch die automatische Vergabe des Namens des Pivotberichtes sollte man Excel überlassen.
Gruß
Franz
Sub Test_8()
' Test_8 Makro
Dim wksQuelle As Worksheet, wksPivot As Worksheet
Dim pvTab As PivotTable
Dim LastRow As Long
Application.CutCopyMode = False
Set wksQuelle = ActiveWorkbook.Worksheets("Tabelle1") 'oder evtl. = ActiveSheet
With wksQuelle
With .UsedRange
'letzte Zeile mit Daten in der Quelle für den Pivot-Bericht
LastRow = 609   'feste Zeilennummer vorgeben
LastRow = .Row + .Rows.Count - 1 'Zeilennummer variabel ermitteln
End With
End With
'Tabellenblatt für Pivot-Bericht einfügen
ActiveWorkbook.Sheets.Add after:=wksQuelle
Set wksPivot = ActiveSheet
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, _
SourceData:="'" & wksQuelle.Name & "'!R5C2:R" & LastRow & "C6", _
Version:=xlPivotTableVersion14).CreatePivotTable _
TableDestination:="'" & wksPivot.Name & "'!R3C1", _
DefaultVersion:=xlPivotTableVersion14
wksPivot.Select                 'kann man weglassen
Set pvTab = wksPivot.PivotTables(1)
Cells(3, 1).Select              'kann man weglassen
With pvTab.PivotFields("DE")
.Orientation = xlRowField
.Position = 1
End With
With pvTab.PivotFields("CLA")
.Orientation = xlRowField
.Position = 2
End With
With pvTab.PivotFields("EOM (0300)")
.Orientation = xlColumnField
.Position = 1
End With
With pvTab.PivotFields("1")
.Orientation = xlPageField
.Position = 1
End With
pvTab.AddDataField pvTab.PivotFields("0"), "Anzahl von 0", xlCount
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige