我正在使用下面的代码尝试在Excel中创建数据透视表,但它似乎无法正常工作
Range("A1").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Dim AllData As Range
Set AllData = selection.CurrentRegion
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:=AllData).CreatePivotTable TableDestination:= _
"'[Process Data v2.xls]Pivot'!R4C1", TableName:="PivotTable3", _
DefaultVersion:=xlPivotTableVersion10
错误在于数据透视表部分,并且是运行时错误5.无效的过程调用或参数。
我试过录制一个宏并在脚本中有一个精确的范围并且它可以工作,但用'Alldata'变量替换它会破坏它。我尝试了很多东西,但无法弄清楚为什么它不起作用
答案 0 :(得分:2)
尝试拆分您的代码,以便将数据透视缓存和表创建分开:它会让您更好地了解实际错误的位置:
Dim pc, pt
Dim AllData As Range
Set AllData = Range("A1").CurrentRegion
Set pc = ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, _
SourceData:=AllData)
Set pt = pc.CreatePivotTable TableDestination:= _
"'[Process Data v2.xls]Pivot'!R4C1", _
TableName:="PivotTable3", DefaultVersion:=xlPivotTableVersion10