2

簡単に説明すると、データコレクション「Data」に基づいてピボットテーブルを作成する次のコードを取得しました。これを作成したPCで実行すると、Excel 2013を問題なく実行できますが、Excel2007またはExcel2010で実行すると、Range( "A1")の後の行に無効なプロシージャ呼び出しまたは引数エラーがスローされます。選択する

これはExcel2013で記述されているが、2007または2010で使用されているため、Excelバージョンエラーですか?

    Sheets("Pivot").Select
    Range("A1").Select
    ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
        "Data", Version:=xlPivotTableVersion15).CreatePivotTable TableDestination:= _
        "Pivot!R1C1", TableName:="PivotTable4", DefaultVersion:= _
        xlPivotTableVersion15
    Sheets("Pivot").Select
    Cells(1, 1).Select
    With ActiveSheet.PivotTables("PivotTable4").PivotFields("Date Only")
        .Orientation = xlRowField
        .Position = 1
    End With
    With ActiveSheet.PivotTables("PivotTable4").PivotFields("Species")
        .Orientation = xlColumnField
        .Position = 1
    End With
    ActiveSheet.PivotTables("PivotTable4").AddDataField ActiveSheet.PivotTables( _
        "PivotTable4").PivotFields("Number"), "Sum of Number", xlSum

人々がDefaultVersion:= xlPivotTableVersion14および12を使用したために発生する可能性があるバージョンの問題である場合、Excel2007またはExcel2010でどのバージョンが機能するかを誰かが知っていますか?2007の正しいバージョンを入力すると、2010や2013などとの下位互換性があると思います...?

よろしくお願いします

4

2 に答える 2

6

これは、Excel 2013 に固有の問題だと思いますVersion:=xlPivotTableVersion15。Excel 2010 のヘルプは次のとおりです。

ここに画像の説明を入力

これはオプションの引数であり、Excel 2010 では、ピボット テーブルはそれを使用しても使用しなくても正しく作成されました。

于 2013-03-08T19:40:05.467 に答える
0

下位互換性があると思いますが、いつでもバージョンを確認して、それに応じてコードをビルドできます。私は信じている

application.version

Excelで現在のバージョンを取得します。

于 2013-03-08T18:56:05.920 に答える