Clase PivotTables (Excel VBA)
Colección de todos los objetos PivotTable del libro especificado. Para usar una variable de clase PivotTables, primero debe ser instanciado, por ejemplo
Dim pts as PivotTables
Set pts = ActiveSheet.PivotTables()
For Each
A continuación, se muestra un ejemplo de cómo procesar los elementos PivotTables en una colección.
Dim pvt As PivotTable
For Each pvt In Application.PivotTables
Next pvt
Add
Agrega un nuevo informe de tabla dinámica.
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
Estos son los argumentos con nombre :
PivotCache (PivotCache) - Memoria caché de tabla dinámica en la que se basa el nuevo informe de tabla dinámica.
TableDestination (PivotTables) - Celda de la esquina superior izquierda del rango de destino del informe de tabla dinámica (el rango de la hoja de cálculo en el que se colocará el informe de tabla dinámica resultante).
Optional arguments
Los siguientes argumentos son opcionales
TableName (String) - Nombre del nuevo informe de tabla dinámica.
ReadData (Boolean) - Si es True, se crea una caché de tabla dinámica que contiene todos los registros de la base de datos externa; esta caché puede ser muy grande.
DefaultVersion - Versión de Microsoft Excel en la que se creó originalmente la tabla dinámica
Count
Devuelve un valor Long que representa el número de objetos de la colección.
Dim lngCount As Long
lngCount = ActiveSheet.PivotTables.Count
Item
Devuelve un solo objeto de una colección.
El nombre de texto del objeto es el valor de las propiedades Name y Value .
Item (Index)
Index: Número de índice o nombre del objeto.
Dim pvt As PivotTable
Set pvt = ActiveSheet.PivotTables(Index:=1)