2016-09-16 8 views
0

私はマクロのnoobですが、調整を行うためにマクロを記録し、コードを操作する経験はかなりあります。今日私は解決する必要がある問題があります。ピボット内の列の順序を再編成するマクロを記録しようとしています。私は、ピボットテーブルフィールドのセクションで値フィールドをクリックし、 "最後に移動"を選択するだけでなく、ピボットテーブルフィールドフォームで値を移動しながら、マクロの記録を試みました。どちらも動作していないので、「実行時エラー '5':プロシージャの呼び出しまたは引数が無効です」参照先のコードが以下にあります。レコードマクロを使用してピボット列を整列する

マクロまたはマクロの記録を使用してピボットの列?

おかげで、 スティーブ


Sub PivotColumnArrange() 
' 
' PivotColumnArrange Macro 
' Arranges Pivot Columns In Proper Order 
    Range("F3").Select 
    ActiveSheet.PivotTables("PivotTable2").AddDataField ActiveSheet.PivotTables(_ 
     "PivotTable2").PivotFields("Sum of AverageCPC"), "Sum of AverageCPC", xlSum 
    ActiveSheet.PivotTables("PivotTable2").AddDataField ActiveSheet.PivotTables(_ 
     "PivotTable2").PivotFields("Sum of AveragePos."), "Sum of AveragePos.", xlSum 
    ActiveSheet.PivotTables("PivotTable2").AddDataField ActiveSheet.PivotTables(_ 
     "PivotTable2").PivotFields("Sum of Conversions"), "Sum of Conversions", xlSum 
    ActiveSheet.PivotTables("PivotTable2").AddDataField ActiveSheet.PivotTables(_ 
     "PivotTable2").PivotFields("Sum of CPA "), "Sum of CPA ", xlSum 
    ActiveSheet.PivotTables("PivotTable2").AddDataField ActiveSheet.PivotTables(_ 
     "PivotTable2").PivotFields("Sum of CPA "), "Sum of CPA ", xlSum 
    ActiveSheet.PivotTables("PivotTable2").AddDataField ActiveSheet.PivotTables(_ 
     "PivotTable2").PivotFields("Sum of CVR "), "Sum of CVR ", xlSum 
    ActiveSheet.PivotTables("PivotTable2").AddDataField ActiveSheet.PivotTables(_ 
     "PivotTable2").PivotFields("Sum of CTR"), "Sum of CTR", xlSum 
End Sub 

答えて

0

私は2つの可能性の問題を参照してください。あなたは値のフィールド名を参照しているように見え、例えば、 "合計「CPA」を参照する必要がある場合は「CPAの」を選択します。また、コードでは同じ名前のフィールドが作成されます。つまり、「CPAの合計」が2回使用されます。私はソースフィールド名(「CPA」)で推測している、おそらく二つ目は、実際には別であることを意味する

ActiveSheet.PivotTables("PivotTable2").AddDataField ActiveSheet.PivotTables(_ 
    "PivotTable2").PivotFields("CPA"), "Sum of CPA ", xlSum 
ActiveSheet.PivotTables("PivotTable2").AddDataField ActiveSheet.PivotTables(_ 
    "PivotTable2").PivotFields("CPA"), "Sum of CPA2 ", xlSum 

:これまで

ActiveSheet.PivotTables("PivotTable2").AddDataField ActiveSheet.PivotTables(_ 
    "PivotTable2").PivotFields("Sum of CPA "), "Sum of CPA ", xlSum 
ActiveSheet.PivotTables("PivotTable2").AddDataField ActiveSheet.PivotTables(_ 
    "PivotTable2").PivotFields("Sum of CPA "), "Sum of CPA ", xlSum 

はこれを変更してみてくださいAverageのような操作(または単に事故だった)。

+0

PvtTbl.AddDataField PvtTbl.PivotFields( "CPA")のように、PvtTbl = ActiveSheet.PivotTables( "PivotTable2") 'を設定し、 「CPAの合計」、「xlSum」 –

関連する問題