マクロでピボットテーブルを行う方法
マクロ初心者です。よろしくお願い致します。
マクロでピボットテーブルにて集計を行いたいと思っています。
コマンドボタン1発で以下の全ての動作を行いたいです。
■動作詳細■
[OK]コマンドボタンで指定したファイルを開く。
[OK]集計しやすいようにファイル内のデータを加工。
[NG]指定して開いたファイル上でピボットテーブル集計ができない。
■NG要因として■
指定して開いたファイルのSheet1上のデータをピボットテーブル新規作成でSheet2に作成するので、集計する元のデータの場所(Sheet1)をマクロ上に記載する必要があると思うのですが、うまくいきませんでした。
どなたかお分かりになる方がいらっしゃいましたらご助言いただければと思います。よろしくお願いします。
■作成マクロ■
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
"test01!C1:C8").CreatePivotTable TableDestination:="", TableName:= _
"ピボットテーブル2", DefaultVersion:=xlPivotTableVersion10
ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1)
ActiveSheet.Cells(3, 1).Select
With ActiveSheet.PivotTables("ピボットテーブル2").PivotFields("コード")
.Orientation = xlRowField
.Position = 1
End With
With ActiveSheet.PivotTables("ピボットテーブル2").PivotFields("色")
.Orientation = xlColumnField
.Position = 1
End With
ActiveSheet.PivotTables("ピボットテーブル2").AddDataField ActiveSheet.PivotTables( _
"ピボットテーブル2").PivotFields("売上"), "データの個数 / 売上数量", xlCount
一度、作成したピボットテーブルのデータをマクロにコピーしてコマンドボタンにペーストしました。
それによって参照してあるセルの位置もズレてしまったのでしょうか?
どこを直せばよいのか分からなくなってしまいました。
よろしくお願いいたします。
お礼
早速のご回答有難うございます。 *(アスタリスク)キー押下とはどうやるのでしょうか? エクセルの十字キーにカーソルを充て、*を打ってみましたが、何も変わりませんでした。 しかし、フォルダで実験してみたら、*で深い階層まで開けました。 この技は知らなかったので、勉強になりました。