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 に答える