0

我正在使用下面的代码尝试在 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”变量替换它会破坏它。我尝试了很多东西,但无法弄清楚为什么它不起作用

4

1 回答 1

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
于 2013-11-12T18:01:27.420 回答