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)