- ベストアンサー
Excel VBAでピボットテーブルを作成する方法について
- Excel VBAを使用して、表のデータからピボットテーブルを作成する方法について説明します。
- データを追加してもピボットテーブルの範囲が自動的に変わらない場合、マクロを修正する必要があります。
- 特定のフィールドを行または列に配置し、データを合計で表示するために必要な手順も説明します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 > 下記のマクロの意味が分からないのですが、どう修正すればいいのでしょうか。 ご自身でマクロの記録を利用して作ったマクロではないのですか? ヘルプファイルがインストールされているはずです。 例えば、AddにカーソルをおいてF1を押し、PivotCaches オブジェクトの Add メソッドを調べれば引数の意味なんかを調べることができますよ。 すべての回答はしませんが、 ここから Range("A1").Select Selection.CurrentRegion.Select ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _ "'200804~累計'!R1C1:R10501C28").CreatePivotTable TableDestination:="", _ TableName:="ピボットテーブル1", DefaultVersion:=xlPivotTableVersion10 ここまで変えるなら、 ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, _ SourceData:=Worksheets("200804~累計").Range("A1").CurrentRegion.Address(External:=True)) _ .CreatePivotTable TableDestination:="", TableName:="ピボットテーブル1", _ DefaultVersion:=xlPivotTableVersion10 のように修正したらどうでしょうか?
その他の回答 (1)
- OtenkiAme
- ベストアンサー率77% (69/89)
こんにちは。 > 空のピボットテーブルが作成されてしまいました。 提示したところまでの処理は、 「アクティブなワークブックにSourceDataで指定したデータを元に ピボットキャッシュを追加し、作成先を指定していない(TableDestination:="") "ピボットテーブル1"という名前のピボットテーブルを作る。」 という処理です。 提示したコードの以下に質問者さんが提示された ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1) ActiveSheet.Cells(3, 1).Select ActiveWorkbook.ShowPivotTableFieldList = True ~ 略 ~ のコードをつなげればいいのではないでしょうか? なお、提示されたコードでは、作成先が指定されていないので、 必ず新規シートにピボットテーブルが作られます。 そして、新規シートの名前を"月別集計"に変更していますよね。 同じブック内に既存のシート名は使えませんから、 月別集計シートを削除してからピボットテーブルを作成するか、 月別集計シートのセル内をクリアしてから作成すればいいのではないでしょうか。
お礼
解決していませんが、ありがとうございました。(^^)
お礼
ありがとうございます。 空のピボットテーブルが作成されてしまいました。