我正在使用VBA代码创建数据透视表。我记录了我的动作,并能够修改代码。唯一的问题是实际的数据源集。数据位于second worksheet
内,范围为A1 to T & LastRow
。
我尝试使用Sheets(2)"A1:T" & LastRow
更改数据源,但失败了。
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:="august2015!R1C1:R734C20", Version:=xlPivotTableVersion10).CreatePivotTable TableDestination:="Sheet2!R1C1", TableName:="PivotTable3", DefaultVersion:=xlPivotTableVersion10
答案 0 :(得分:0)
您需要建立地址字符串,包括工作表名称:
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, _
SourceData:="'" & Sheets(2).Name & "'!" & Range("A1:T" & lastrow).Address(ReferenceStyle:=xlR1C1), _
Version:=xlPivotTableVersion10).CreatePivotTable _
TableDestination:="Sheet2!R1C1", TableName:="PivotTable3", DefaultVersion:=xlPivotTableVersion10
仅供参考,为了便于调试我总是建议创建一个pivotcache对象,然后从中创建一个pivottable:
Dim pc As PivotCache
Dim pt As PivotTable
Set pc = ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, _
SourceData:="'" & Sheets(2).Name & "'!" & Range("A1:T" & lastrow).Address(ReferenceStyle:=xlR1C1), _
Version:=xlPivotTableVersion10)
Set pt = pc.CreatePivotTable(TableDestination:="Sheet2!R1C1")