Classe PivotTables (Excel VBA)

Uma coleção de todos os objetos PivotTable na pasta de trabalho especificada. Para usar uma variável de classe PivotTables, ela primeiro precisa ser instanciada por exemplo


Dim pts as PivotTables
Set pts = ActiveSheet.PivotTables()

For Each

Aqui está um exemplo de processamento dos itens PivotTables em uma coleção.


Dim pvt As PivotTable
For Each pvt In Application.PivotTables
	
Next pvt

Add

Adiciona um novo relatório de tabela dinâmica. Retorna um objeto PivotTable.

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

O seguinte argumento é opcional

PivotCache (PivotCache) - O cache de tabela dinâmica no qual o novo relatório de tabela dinâmica se baseia. O cache fornece dados para o relatório.

TableDestination (PivotTables) - A célula no canto superior esquerdo do intervalo de destino do relatório de tabela dinâmica (o intervalo na planilha em que o relatório resultante será inserido). Você deve especificar um intervalo de destino na planilha que contém o objeto PivotTables especificado por expressão.

Optional arguments

Os seguintes argumentos são opcionais

TableName (String) - O nome do novo relatório de tabela dinâmica.

ReadData (Boolean) - True para criar um cache de tabela dinâmica que contenha todos os registros do banco de dados externo; este cache pode ser muito grande. False para habilitar a configuração de alguns dos campos como campos de página com base em servidor antes dos dados serem lidos.

DefaultVersion - A versão do Microsoft Excel na qual a tabela dinâmica foi originalmente criada

Count

Retorna um valor Long que representa o número de objetos na coleção.


Dim lngCount As Long
lngCount = ActiveSheet.PivotTables.Count

Item

Retorna um único objeto de uma coleção.

O nome de texto do objeto é o valor das propriedades Name e Value .

Item (Index)

Index: O nome ou número de índice do objeto.


Dim pvt As PivotTable
Set pvt = ActiveSheet.PivotTables(Index:=1)