- ベストアンサー
VBAの質問です
ピボットテーブルを作成するには、 ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _ "copy!R5C1:R128C27").CreatePivotTable TableDestination:="", TableName:= _ "ピボットテーブル1" ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1) ActiveSheet.Cells(3, 1).Select ActiveSheet.PivotTables("ピボットテーブル1").SmallGrid = False Range("F13").Select みたいにしますよね。(記録しただけです。) それで、テーブルを作る際に参照するデータ(上の例ではSourceData:="copy!R5C1:R128C27"の部分にあたります)を、固定された範囲ではなくて、そのときどきで与えられたデータによってフレキシブルに変えてくれるようにしたいんです。 ピボットテーブルを作成するときには、データ範囲のどこかのセルを選択した状態で、「データ→ピボットテーブルの…」を選ぶだけでいいですよね。 そんな感じで、僕の場合は、R128の部分を、その時のデータによって変わってくれるようにしたいんです。currentregionとか使って行の数を数えて、変数を定義してそれに格納して…とかやってみたんですが、結局SourceData:="copy!R5C1:R128C27"のところをどう書き直せばよいのか分かりません。 アドバイスよろしくお願いします。説明が分かりづらくて申し訳ありません。
- みんなの回答 (2)
- 専門家の回答