AW: PivotTables.Add in unsichtbarem Worksheet möglich?
29.08.2019 14:51:50
fcs
Hallo Zacharias,
grundsätzlich sollte das anlegen eines Pivotberichtes in einem ausgeblendeten Blatt funktionieren.
Du musst beachten:
1. In deinem Code dürfen keine Select-Anweisungen vorkommen, die auf Objekte (Zellen etc) in dem ausgeblendeten Blatt zugreifen.
2. An der Position (Zelle) an der der Pivot-Bericht eingefügt werden soll darf kein alter Pivotbericht vorhanden sein.
LG
Franz
Funktionierender Beispiel-Code:
Sub MakePivotTab()
Dim wksPT_Target As Worksheet
Dim ptCache As PivotCache
Dim strPT_Name As String
Dim rngPT_Target As Range
Dim ptTable As PivotTable
Dim wksData As Worksheet
'Pivot-Cache anlegen
Set wksData = ActiveWorkbook.Worksheets("Data")
With wksData
Set ptCache = ActiveWorkbook.PivotCaches.Create(xlDatabase, .Range("A1:D14"))
End With
'Blatt und Ziel für Pivotbericht setzen
Set wksPT_Target = ActiveWorkbook.Worksheets("PT_Sourcedata")
Set rngPT_Target = wksPT_Target.Range("A5")
strPT_Name = "Auswertung01"
'Pivotbericht anlegen
Set ptTable = wksPT_Target.PivotTables.Add(PivotCache:=ptCache, TableDestination:= _
rngPT_Target, _
TableName:=strPT_Name)
'Pivotbericht aufbauen
With ptTable
.RowAxisLayout xlTabularRow
With .PivotFields("A")
.Orientation = xlRowField
.Position = 1
End With
With .PivotFields("B")
.Orientation = xlColumnField
.Position = 1
End With
.AddDataField .PivotFields("C"), "Summe von C", xlSum
.AddDataField .PivotFields("D"), "Summe von D", xlSum
With .DataPivotField
.Orientation = xlRowField
.Position = 2
End With
End With
End Sub