Klasse PivotTables (Excel VBA)
Eine Auflistung aller PivotTable -Objekte in der angegebenen Arbeitsmappe. Um eine PivotTables -Klassenvariable zu verwenden, muss sie zuerst instanziert werden, beispielsweise
Dim pts as PivotTables
Set pts = ActiveSheet.PivotTables()
For Each
Hier ist ein Beispiel für die Verarbeitung der PivotTables -Elemente in einer Sammlung
Dim pvt As PivotTable
For Each pvt In Application.PivotTables
Next pvt
Add
Fügt einen neuen PivotTable-Bericht hinzu.
Add (PivotCache, TableDestination, TableName, ReadData, DefaultVersion)
Dim cnnConn As ADODB.Connection
Dim rstRecordset As ADODB.Recordset
Dim cmdCommand As ADODB.Command
' Open the connection.
Set cnnConn = New ADODB.Connection
With cnnConn
.ConnectionString = _
"Provider=Microsoft.Jet.OLEDB.4.0"
.Open "C:\perfdate\record.mdb"
End With
' Set the command text.
Set cmdCommand = New ADODB.Command
Set cmdCommand.ActiveConnection = cnnConn
With cmdCommand
.CommandText = "Select Speed, Pressure, Time From DynoRun"
.CommandType = adCmdText
.Execute
End With
' Open the recordset.
Set rstRecordset = New ADODB.Recordset
Set rstRecordset.ActiveConnection = cnnConn
rstRecordset.Open cmdCommand
' Create PivotTable cache and report.
Set objPivotCache = ActiveWorkbook.PivotCaches.Add( _
SourceType:=xlExternal)
Set objPivotCache.Recordset = rstRecordset
ActiveSheet.PivotTables.Add _
PivotCache:=objPivotCache, _
TableDestination:=Range("A3"), _
TableName:="Performance"
With ActiveSheet.PivotTables("Performance")
.SmallGrid = False
With .PivotFields("Pressure")
.Orientation = xlRowField
.Position = 1
End With
With .PivotFields("Speed")
.Orientation = xlColumnField
.Position = 1
End With
With .PivotFields("Time")
.Orientation = xlDataField
.Position = 1
End With
End With
' Close the connections and clean up.
cnnConn.Close
Set cmdCommand = Nothing
Set rstRecordSet = Nothing
Set cnnConn = Nothing
Arguments
Hier sind die benannte Argumente :
PivotCache (PivotCache) - Der PivotTable-Cache, auf dem der neue PivotTable-Bericht basiert.
TableDestination (PivotTables) - Die Zelle in der oberen linken Ecke des Zielbereichs des PivotTable-Berichts (der Bereich auf dem Arbeitsblatt, in dem der resultierende Bericht platziert wird).
Optional arguments
Die folgenden Argumente sind optional
TableName (String) - Der Name des neuen PivotTable-Berichts.
ReadData (Boolean) - Mit True wird ein PivotTable-Cache erstellt, der alle Datensätze aus einer externen Datenbank enthält; dieser Cache kann sehr groß sein.
DefaultVersion - Die Version von Microsoft Excel, in der die PivotTable ursprünglich erstellt wurde
Count
Gibt einen Long-Wert zurück, der die Anzahl der Objekte in der Auflistung darstellt.
Dim lngCount As Long
lngCount = ActiveSheet.PivotTables.Count
Item
Gibt ein einzelnes Objekt aus einer Auflistung zurück.
Der Textname des Objekts entspricht dem Wert der Eigenschaften Name und value .
Item (Index)
Index: Der Name oder die Indexnummer für das Objekt.
Dim pvt As PivotTable
Set pvt = ActiveSheet.PivotTables(Index:=1)