2017-07-30 8 views
0

私はピボットテーブルを持っていて、マクロで記録しました。私は手動で行うときに私の希望の出力を表示することができたが、私はマクロを実行すると、ピボットテーブルは異なって表示されます。excelマクロエクステンションカラムテーブルのピボットテーブルを作成

これは私の予想される出力です。

Count of Date Occurred Column Labels        
Row Labels 17.07.2017 18.07.2017 19.07.2017 20.07.2017 21.07.2017 22.07.2017 23.07.2017 24.07.2017 Grand Total 
100117975   1      1 
100117976    1     1 
100117977  1       1 
100117979      1   1 
100117982 1        1 
100117988    1     1 
100117991 2 2 2  1   1 8 

以下はマクロで記録されたコードです。

ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _ 
    "DataDump!R1C1:R373C4", Version:=xlPivotTableVersion14).CreatePivotTable _ 
    TableDestination:="DataResult!R1C1", TableName:="PivotTableResult", _ 
    DefaultVersion:=xlPivotTableVersion14 
Sheets("DataResult").Select 
Cells(1, 1).Select 
With ActiveSheet.PivotTables("PivotTableResult").PivotFields("Date Occurred") 
    .Orientation = xlColumnField 
    .Position = 1 
End With 
With ActiveSheet.PivotTables("PivotTableResult").PivotFields("ID") 
    .Orientation = xlRowField 
    .Position = 1 
End With 
ActiveSheet.PivotTables("PivotTableResult").AddDataField ActiveSheet.PivotTables(_ 
    "PivotTableResult").PivotFields("Date Occurred"), "Count of Date Occurred", xlCount 

以下はマクロからの出力です。

Row Labels Count of Date Occurred 
100117975 1 
100117976 1 
100117977 1 
100117979 1 
100117982 1 
100117988 1 
100117991 8 
100117992 2 
100117993 7 

ご協力いただければ幸いです。

+1

AddDataField行の後の最初のWith/End Withブロックを移動してみてください。 – pnuts

+0

私はこれをやってみましたが、450 'ActiveSheet.PivotTables( "PivotTableResult")実行時エラーを得た。AddDataField ActiveSheet.PivotTables( "PivotTableResult")で。PivotFields( "ID") .Orientation = xlRowField 。 ActiveSheet.PivotTables(_ "PivotTableResult")。PivotFields( "日付が発生しました")、 "日付のカウントが発生しました" で所定の位置= 1 エンド、xlCount' – SlickTrick

+0

'ActiveSheet.PivotTables( "PivotTableResult")。AddDataField ActiveSheet.PivotTables (_ "PivotTableResult")。PivotFields( "Date Occurred"、 "Count of Date Occurred"、xlCount'はすべて1行です( '_'はそれを拡張しています) xlCount'、改行を開始します。 – pnuts

答えて

0

追加データの後ろの最初のWIth/Endブロックをコピーして機能させました。最初のブロックはまだそこにあるはずです

関連する問題