创建数据透视表的运行时错误1004

时间:2013-12-04 02:47:25

标签: excel-vba vba excel

我正在尝试从.csv文件创建数据透视表。但是我遇到运行时错误1004:引用在代码的ActiveWorkbook部分无效。

对此有何建议?

我的代码如下

Sub test()
Dim ws As Worksheet

Set ws = ActiveSheet

Sheets.Add
ws.Select
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
    ws.Name & "R1C1:R101643C21", Version:=xlPivotTableVersion10). _
    CreatePivotTable TableDestination:="Sheet1!R3C1", TableName:="PivotTable1" _
    , DefaultVersion:=xlPivotTableVersion10

End Sub

我做了Sheets.Add添加新的工作表。我使用ws.Name作为名称可以是任何名称。只是一个附加问题,是否可以将R1C1:R101643C21更改为变化范围,因为数据可能不是那么大或小?

1 个答案:

答案 0 :(得分:2)

注意SourceData中的!。缺少的!导致无效的引用

Sub test()
    Dim ws As Worksheet

    Set ws = ActiveSheet

    ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
        ws.Name & "!R1C1:R11C2", Version:=xlPivotTableVersion10). _
        CreatePivotTable TableDestination:="Sheet2!R3C1", TableName:="PivotTable1" _
        , DefaultVersion:=xlPivotTableVersion10

End Sub

对于动态范围,请参阅此

Sub test()
    Dim ws As Worksheet
    Dim rng As Range

    Set ws = ActiveSheet
    Set rng = ws.Range("A1:B10")

    ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
        rng, Version:=xlPivotTableVersion10). _
        CreatePivotTable TableDestination:="Sheet2!R3C1", TableName:="PivotTable1" _
        , DefaultVersion:=xlPivotTableVersion10

End Sub

提醒一下,您只是以这种方式创建一个空的数据透视表