PivotTables.Add 方法 (Excel)
添加新的数据透视表。 返回 数据透视表 对象。
语法
表达式。添加 (PivotCache、 TableDestination、 TableName、 ReadData、 DefaultVersion)
表达 一个代表 数据透视表 对象的变量。
参数
名称 | 必需/可选 | 数据类型 | 说明 |
---|---|---|---|
PivotCache | 必需 | PivotCache | 表示一个数据透视表缓存,而新的数据透视表将基于此缓存。 缓存用于为报表提供数据。 |
TableDestination | 必需 | Variant | 数据透视表目标区域(工作表中用于放置所生成的报表的区域)左上角的单元格。 必须在工作表中(此工作表包含由 expression 指定的 PivotTables 对象)指定一个目标区域。 |
TableName | 可选 | Variant | 新的数据透视表的名称。 |
ReadData | 可选 | Variant | 如果为 True,则创建数据透视表缓存以包含外部数据库中的所有记录;此时缓存可能会很大。 如果为 False,则允许在实际读取数据之前将某些字段设置为基于服务器的页字段。 |
DefaultVersion | 可选 | Variant | 最初创建数据透视表的 Microsoft Excel 版本。 |
返回值
一个代表新数据透视表的 PivotTable 对象。
示例
本示例基于 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 支持和反馈,获取有关如何接收支持和提供反馈的指南。