Поделиться через


Метод PivotTables.Add (Excel)

Добавляет новый отчет сводной таблицы. Возвращает объект сводной таблицы .

Синтаксис

expression. Add (PivotCache, TableDestination, TableName, ReadData, DefaultVersion)

Выражение Переменная, представляющая объект сводных таблиц .

Параметры

Имя Обязательный или необязательный Тип данных Описание
PivotCache Обязательный PivotCache Кэш сводной таблицы, на котором основан новый отчет сводной таблицы. Кэш предоставляет данные для отчета.
TableDestination Обязательный Variant Ячейка в левом верхнем углу диапазона назначения отчета сводной таблицы (диапазон на листе, где будет размещен итоговый отчет). Необходимо указать целевой диапазон на листе, который содержит объект PivotTables, заданныйвыражением.
TableName Необязательный Variant Имя нового отчета сводной таблицы.
ReadData Необязательный Variant Значение true , чтобы создать кэш сводной таблицы, содержащий все записи из внешней базы данных; этот кэш может быть очень большим. Значение false , чтобы включить настройку некоторых полей в качестве полей страницы на сервере до фактического считывания данных.
DefaultVersion Необязательный Variant Версия Microsoft Excel, в которую изначально была создана сводная таблица.

Возвращаемое значение

Объект сводной таблицы , представляющий новый отчет сводной таблицы.

Пример

В этом примере создается новый кэш сводной таблицы на основе поставщика OLAP, а затем создается новый отчет сводной таблицы на основе кэша в ячейке A1 на первом листе.

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

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.