Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1752to1756
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
VBA - Pivot Tab. - Laufzeitfehler 1004
13.04.2020 11:32:10
Peter
Guten Tag zusammen,
ich arbeite seit 2 Jahren sehr gerne mit Macros und habe mir damit sehr viele Erleichterungen programmiert, aber ich musste noch nie eine Pivot Tabelle erstellen. Nun ist es soweit. Um mir die Arbeit zu erleichtern, habe ich ein neues Macro aufzeichnen wollen und wollte es anschließend im Quellcode anpassen, aber es funktioniert nicht.
Columns("A:U").Select
Sheets.Add
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"import!R1C1:R1048576C21", Version:=6).CreatePivotTable TableDestination:= _
"Tabelle2!R3C1", TableName:="PivotTable1", DefaultVersion:=6

Sheets("Tabelle2").Select
Cells(3, 1).Select
With ActiveSheet.PivotTables("PivotTable1")
.ColumnGrand = True
.HasAutoFormat = True
.DisplayErrorString = False
.DisplayNullString = True
.EnableDrilldown = True
.ErrorString = ""
.MergeLabels = False
.NullString = ""
.PageFieldOrder = 2
.PageFieldWrapCount = 0
.PreserveFormatting = True
.RowGrand = True
.SaveData = True
.PrintTitles = False
.RepeatItemsOnEachPrintedPage = True
.TotalsAnnotation = False
.CompactRowIndent = 1
.InGridDropZones = False
.DisplayFieldCaptions = True
.DisplayMemberPropertyTooltips = False
.DisplayContextTooltips = True
.ShowDrillIndicators = True
.PrintDrillIndicators = False
.AllowMultipleFilters = False
.SortUsingCustomLists = True
.FieldListSortAscending = False
.ShowValuesRow = False
.CalculatedMembersInFilters = False
.RowAxisLayout xlCompactRow
End With
Der fett dargestellte Teil wird im Debug Mode markiert mit der Meldung:
Laufzeitfehler '1004':
Anwendungs- oder objektdefinierter Fehler

Kann mir bitte jemand weiterhelfen?
Vielen herzlichen Dank.
Gruß
Peter

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA - Pivot Tab. - Laufzeitfehler 1004
13.04.2020 11:40:59
Regina
Hallo Peter,
mit Sheets.Add wird ein neues Tabellenblatt erzeugt, dass ist dann aber nicht zwingend "Tabelle2". Die Pivottabelle soll aber auf Tabelle2 erzeugt werden. Evtl. ist das das Problem, genaueres könnte man nur mit einer Beispielmappe ergründen.
Problematisch wird auch sein, dass Dein Code die neue Pivotabelle immer PivotTable1 nennt, das knallt dann, wenn der Name in der Datei schon verwendet wird.
ich weiß auch nicht so genau, was Du mit der Aktion bezweckst. Eine Pivittabelle erstellt man ja eigentlich nur einmal und aktualisiert sie dann bei Datenänderungen.
Gruß Regina
Anzeige
AW: VBA - Pivot Tab. - Laufzeitfehler 1004
13.04.2020 12:07:57
Peter
Hallo Regina,
besten Dank für deine schnelle Unterstützung. Ich habe vor immer andere, leicht unterschiedliche Auswertungen zu erzeugen und daher erstelle ich die Pivot Tabelle nach mehreren Abfragen immer wieder neu.
Ich habe deinen Rat befolgt und habe nun folgendes geändert...
Columns("A:U").Select
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"import!R1C1:R1048576C21", Version:=6).CreatePivotTable TableDestination:= _
"Tabelle2!R3C1", TableName:="PivotTable1", DefaultVersion:=6
Worksheets(1).Select
Cells(3, 1).Select
"Sheets.Add" wurde entfernt und mit "Worksheets(1).Select" spreche ich immer den ersten Tab an. Nun knallt es aber etwas tiefer im Code :(
Vielleicht kannst Du mir auch da einen Tipp geben?
Vielen lieben Dank.

Sub Makro1()
' Makro1 Makro
Columns("A:U").Select
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"import!R1C1:R1048576C21", Version:=6).CreatePivotTable TableDestination:= _
"Tabelle2!R3C1", TableName:="PivotTable1", DefaultVersion:=6
Worksheets(1).Select
With ActiveSheet.PivotTables("PivotTable1")
.ColumnGrand = True
.HasAutoFormat = True
.DisplayErrorString = False
.DisplayNullString = True
.EnableDrilldown = True
.ErrorString = ""
.MergeLabels = False
.NullString = ""
.PageFieldOrder = 2
.PageFieldWrapCount = 0
.PreserveFormatting = True
.RowGrand = True
.SaveData = True
.PrintTitles = False
.RepeatItemsOnEachPrintedPage = True
.TotalsAnnotation = False
.CompactRowIndent = 1
.InGridDropZones = False
.DisplayFieldCaptions = True
.DisplayMemberPropertyTooltips = False
.DisplayContextTooltips = True
.ShowDrillIndicators = True
.PrintDrillIndicators = False
.AllowMultipleFilters = False
.SortUsingCustomLists = True
.FieldListSortAscending = False
.ShowValuesRow = False
.CalculatedMembersInFilters = False
.RowAxisLayout xlCompactRow
End With
With ActiveSheet.PivotTables("PivotTable1").PivotCache
.RefreshOnFileOpen = False
.MissingItemsLimit = xlMissingItemsDefault
End With
ActiveSheet.PivotTables("PivotTable1").RepeatAllLabels xlRepeatLabels
With ActiveSheet.PivotTables("PivotTable1").PivotFields("PRIORITY")
.Orientation = xlPageField
.Position = 1
End With
ActiveSheet.PivotTables("PivotTable1").AddDataField ActiveSheet.PivotTables( _
"PivotTable1").PivotFields("INCIDENT_NUMBER"), "Anzahl von INCIDENT_NUMBER", _
xlCount
With ActiveSheet.PivotTables("PivotTable1").PivotFields("SLT_STATUS")
.Orientation = xlColumnField
.Position = 1
End With
ActiveSheet.PivotTables("PivotTable1").AddDataField ActiveSheet.PivotTables( _
"PivotTable1").PivotFields("SLT_STATUS"), "Anzahl von SLT_STATUS", xlCount
With ActiveSheet.PivotTables("PivotTable1").PivotFields("CLOSED_DATE")
.Orientation = xlRowField
.Position = 1
End With
ActiveSheet.PivotTables("PivotTable1").PivotFields("CLOSED_DATE").AutoGroup
ActiveSheet.PivotTables("PivotTable1").PivotFields("Quartale").Orientation = _
xlHidden
Range("C6").Select
With ActiveSheet.PivotTables("PivotTable1").PivotFields("Anzahl von SLT_STATUS" _
)
.Calculation = xlPercentOfRow
.NumberFormat = "0,00%"
End With
ActiveSheet.PivotTables("PivotTable1").PivotFields("PRIORITY").CurrentPage = _
"(All)"
With ActiveSheet.PivotTables("PivotTable1").PivotFields("PRIORITY")
.PivotItems("(blank)").Visible = False
End With
ActiveSheet.PivotTables("PivotTable1").PivotFields("PRIORITY"). _
EnableMultiplePageItems = True
ActiveSheet.Shapes.AddChart2(297, xlColumnStacked).Select
ActiveChart.SetSourceData Source:=Range("Tabelle2!$A$3:$G$9")
ActiveSheet.Shapes("Diagramm 1").ScaleWidth 2.0114584427, msoFalse, _
msoScaleFromTopLeft
ActiveSheet.Shapes("Diagramm 1").ScaleHeight 1.9843751823, msoFalse, _
msoScaleFromTopLeft
ActiveChart.FullSeriesCollection(4).Select
Selection.Format.Fill.Visible = msoFalse
    ActiveChart.FullSeriesCollection(4).ApplyDataLabels
ActiveChart.FullSeriesCollection(3).Select
ActiveChart.FullSeriesCollection(3).ApplyDataLabels
ActiveChart.FullSeriesCollection(1).Select
ActiveChart.FullSeriesCollection(1).ApplyDataLabels
ActiveChart.ChartArea.Select
ActiveSheet.Shapes("Diagramm 1").IncrementLeft -411.75
ActiveSheet.Shapes("Diagramm 1").IncrementTop 16.5
ActiveWorkbook.SlicerCaches.Add2(ActiveSheet.PivotTables("PivotTable1"), _
"CLOSED_DATE", , xlTimeline).Slicers.Add ActiveSheet, , "CLOSED_DATE", _
"CLOSED_DATE", 300.75, 470.25, 262.5, 108
ActiveSheet.Shapes.Range(Array("CLOSED_DATE")).Select
ActiveSheet.Shapes("CLOSED_DATE").IncrementLeft 271.5
ActiveSheet.Shapes("CLOSED_DATE").IncrementTop -105
End Sub
15. Zeile von unten -> ActiveChart.FullSeriesCollection(4).ApplyDataLabels
Da kommt nun der gleiche Fehler.
Weißt Du auch hier einen Rat?
Danke sehr.
Gruß
Peter
Anzeige
AW: VBA - Pivot Tab. - Laufzeitfehler 1004
13.04.2020 12:24:30
Regina
Hallo Peter,
da muss ich passen, sieht eigentlich gut aus. Bin aber auch kein Diagramm-Experte. Wenn Du magst, lase mal Deine Datei hoch, dann schaue ich mir das mal an.
Gruß Regina
AW: VBA - Pivot Tab. - Laufzeitfehler 1004
13.04.2020 16:41:15
Regina
Hi, das ist das Problem mit den Makroaufzeichnung: Es wird immer genau das aufgezeichnet, was im Einzelnen durchgeführt wird. Der Code geht so davon aus, dass es im Diagramm 3 Datenreihen gibt. In Deinem Beispiel gibt es aber nur 2...
Daher folgende Lösung (ist in der angehängten Datei eingearbeitet): Nicht jeder Datenreihe einzeln die Beschriftung zuweisen, sondern dem Diagramm als Einheit.
https://www.herber.de/bbs/user/136678.xlsm
Gruß Regina
Anzeige
AW: VBA - Pivot Tab. - Laufzeitfehler 1004
14.04.2020 13:36:50
Peter
Vielen lieben Dank, Regina :D
Gruß
Peter

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige