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()

Los siguientes procedimientos se pueden usar para establecer variables de clase PivotTables : Workbook.PivotTables y Worksheet.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)