No.4ベストアンサー
- 回答日時:
>ピボットテーブルがあるシートを含んだ状態で複数シートを
>コピーしようとすると
>「テーブルを含んだ複数シートは移動できません」とエラーになります。
それはピボットテーブルではなくて『テーブル』、ListObjectの事です。
>・シートA1にはテーブルa,aを元にしたピボットテーブルb
この『テーブルa』ですね。
このテーブルaが外部データ取り込みによるQueryTableではない通常のテーブルの場合、
一旦テーブルを解除して(範囲に変換)コピー後に再テーブル化してはどうでしょう。
もしくはグラフを一旦シートA1に移動してコピー後に別シートに移動するとか。
これは前回答の時の
>またはピボットテーブルと同一シート上に置くか。
>別シートにしたい場合でも、マクロでコピーするような仕様ならなんとかなるかな。
マクロが参考になりませんか。
end-u様
ご回答ありがとうございます。
無事いったんテーブルを解除し、グラフ・データシートをまとめてコピー
その後テーブルを再定義して、ピボットテーブルの参照先を変更
でいけました。
長々と分かりづらい説明ご理解頂き、的確な回答ありがとうございました
No.3
- 回答日時:
>・シートB2にあるピボットグラフは参照元はシートA1のbのまま
> シートB1にあるピボットテーブルを参照したが変更できない
・シートB2にあるピボットグラフは参照元はシートA1のbのまま
シートA2にあるピボットテーブルを参照したいが変更できない
..という事でしょうね。
バージョンによって挙動が違うのかな。
2010の場合は複数シートA1,B1をまとめて選択したままコピーすると
B2のグラフはA2のピボットを参照します。
A2のピボットテーブルはA1のテーブルaを参照したままですけどね。
これはあとから変更可。
2003の場合、別シート上のグラフだと確かに参照が元のままですね。
グラフの場所をシート上ではなくてグラフシートにした場合はうまくいきます。
またはピボットテーブルと同一シート上に置くか。
別シートにしたい場合でも、マクロでコピーするような仕様ならなんとかなるかな。
Dim ws As Worksheet
With Sheets
Set ws = .Add(after:=.Item(.Count))
.Item("B1").ChartObjects(1).Chart.Location Where:=xlLocationAsObject, Name:="A1"
.Item("A1").Copy before:=ws
ActiveSheet.ChartObjects(1).Chart.Location Where:=xlLocationAsObject, Name:=ws.Name
.Item("A1").ChartObjects(1).Chart.Location Where:=xlLocationAsObject, Name:="B1"
End With
end-u様
たびたびご回答頂きありがとうございます
>>・シートB2にあるピボットグラフは参照元はシートA1のbのまま
>> シートB1にあるピボットテーブルを参照したが変更できない
>・シートB2にあるピボットグラフは参照元はシートA1のbのまま
> シートA2にあるピボットテーブルを参照したいが変更できない
まさにこの通りです、誤字脱字申し訳ありません
2010ならまとめて選択してコピーすれば
コピーしたグラフの参照先はコピーしたピボットテーブルになるので
そのピボットテーブルのデータ参照を変更すればよい
と仰られておりますが
当方ExcelファイルそのものもOfficeも2010ですが
ピボットテーブルがあるシートを含んだ状態で複数シートを
コピーしようとすると
「テーブルを含んだ複数シートは移動できません」とエラーになります。
私も当初まとめてコピーすればいけると思っていたのですが
それができずに1つ1つコピーしたら参照元が・・・といった経緯でした
なにかまとめてコピーする手立てはあるのでしょうか?
手動でもVBAでもできませんでした
No.2
- 回答日時:
例えば、そのテンプレートBookの構成として、
Sheet1にテーブル領域A
Sheet2にピボットB,C、グラフD,E
という構成なのでしょうか。
それとも
ピボットB,C、グラフD,Eがそれぞれ1シートずつ独立している、という事なのでしょうか。
いずれにしても対応するピボットテーブル&グラフをシートごとコピーして
ピボットテーブルをグループ別レポートにする..という事では済まない話ですか?
>グラフをコピーして使いまわせない..
ピボットテーブルとグラフを切り離さずに対でコピーすれば使い回せますが
そういう話でもないんでしょうね。
>かなり面倒なので..
ピボットグラフ作成マクロについて。
既にチェック済みかもしれませんが参考まで。
http://pvttbl.blog23.fc2.com/blog-category-9.html
end-u様
再度ご返答頂きありがとうございます。
説明が下手だったか私が理解不足か、再度説明させて頂きます
・シートA1にはテーブルa,aを元にしたピボットテーブルb
シートB1にはbを元にしたピボットグラフcがあります。
・シートA1,B1をコピーしてA2,B2にします
・シートB2にあるピボットグラフは参照元はシートA1のbのまま
シートB1にあるピボットテーブルを参照したが変更できない
といった経緯です
No.1
- 回答日時:
ピボットグラフはPivotLayoutオブジェクトを介してピボットテーブルと関連付けられているので、
テーブルを別のピボットに変更する事はできないのでしょう。多分。
そんなメソッドは無いみたい。
(代案1)
ピボットグラフではなく通常グラフで良いのなら、
作業エリアとしてセル範囲を経由してグラフを作成する代案も考えられます。
セル範囲に、ピボットテーブル範囲を参照する数式をセットし、
その数式をマクロで変更してセル範囲データを書き換え、グラフの内容を変更する案です。
(代案2)
状況によって2つのグラフを切り替えて表示したい場合は、
2つのピボットテーブル・ピボットグラフを作成しておいて、
ピボットグラフは2コとも同じ位置に。
それぞれのグラフのVisibleプロパティを弄って表示非表示を切り替えます。
もしくは
Sheets("Sheet1").Shapes(1).ZOrder msoBringToFront
のようにZOrderプロパティで最前面表示を切り替え。
(代案3)
参照するピボットテーブルを切り替えるのではなく、ピボットテーブル自体のSourceDataを変更する案です。
Sheets("Sheet2").PivotTables(1).SourceData = "Sheet1!!R1C1:R10C2"
'Sheet2の1番目のPivotTableのSourceDataを"Sheet1!A1:B10"に変更する。
2つのデータ範囲のフィールド名とラベル項目名が同じならスムーズに変更できます。
考えようによっては、この(代案3)がもっとも要望に近くできます。
1)Bテーブルを削除。
2)Aテーブルを元Bテーブルがあった位置に移動
(ここでグラフは元Bテーブル位置のAテーブルを参照している)
3)元Aテーブルがあった位置にAテーブルをコピー。
4)(2)のAテーブルのSourceDataをBテーブルSourceDataに変更。
..これをVBAで記述すれば良いですが
..そこまで拘らずとも単独のPivotTableのSourceData変更で十分な気がします。
end-u様
ご回答ありがとうございます。
ご提示された3案ですが私も考えには至ったのですが、今回の事案には対応できなかったため
質問させて頂きました。
内容としては、定義したテーブル領域Aとそれを元にしたピボットテーブルB,C
さらにB,Cを元にしたピボットグラフD,Eがあるのですが
これらはあくまでテンプレートとしての役目で、Accessからあるグループ毎に
グラフ化するために、これらテンプレートをコピーして、テーブル領域AにAccessのデータを貼り付けて、グループ毎にシートをわけてグラフを作成
というのが目的でした
ですのでグラフをコピーして使いまわせない(グラフのデータ範囲を変更できない)
という時点でうまくいきません。
ピボットテーブルのソースを変更するのは分かっていたので
ピボットグラフの作成からVBAでやろうとしたのですが、位置・大きさ・タイトルの設定等
かなり面倒なのでデータの範囲さえ変更できれば・・と思った次第です
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルのグラフ作成で軸を等...
-
EXCELでグラフを作るとき、縦軸...
-
エクセルの縦軸(Y軸)が不均等...
-
エクセル 0や空白のセルをグラ...
-
エクセルで折れ線と散布図を同...
-
エクセルグラフからセルを特定...
-
エクセル グラフはあるけれど...
-
エクセルで折れ線グラフを書くとき
-
2019エクセル折れ線グラフで、Y...
-
エクセル グラフの”データーテ...
-
Excel:別シートにグラフを貼り...
-
エクセルの対数グラフのエラー
-
定期テストの点数をExcelで折れ...
-
excelグラフの縦軸と横軸を入れ...
-
エクセルで帯び状のグラフは作...
-
Excelでx軸とy軸を設定して図を...
-
エラーバーの終端の線を長くする
-
エクセルで折れ線グラフ(散布...
-
Excelで未知数を含む式をグラフ...
-
散布図を縦に2個並べて出力したい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルのグラフ作成で軸を等...
-
EXCELでグラフを作るとき、縦軸...
-
Excel:別シートにグラフを貼り...
-
エクセルの縦軸(Y軸)が不均等...
-
Excelでx軸とy軸を設定して図を...
-
エクセルで折れ線と散布図を同...
-
エクセルで折れ線グラフ(散布...
-
エクセル 0や空白のセルをグラ...
-
エクセルで、極座表のグラフ描...
-
エクセル グラフはあるけれど...
-
エクセル グラフの”データーテ...
-
エクセルの円を5等分する方法
-
散布図を縦に2個並べて出力したい
-
エクセルの対数グラフのエラー
-
<EXCELグラフ>データ取得範囲...
-
ExcelのグラフをPowerPointに貼...
-
エクセルグラフの項目名を折り...
-
EXCELのグラフ作成時に元データ...
-
ワードの差し込みにて、値をグ...
-
エクセルのグラフの1点の色を変...
おすすめ情報