[[20091009152926]] 『グラフの範囲もコピー』(茶色氏) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『グラフの範囲もコピー』(茶色氏)

 いつも拝見させて頂いております。
 今、会社で依頼を受けまして毎日のグラフを作りを簡素化する為に
 テンプレートにするシートをブックの一番左端に作成し、
 X軸にする日付データ、Y軸にする計測データ4系列それぞれに
 挿入/名前/定義 で範囲に名前を付け
 (毎回データ行数が可変のため余裕を持って3000行設定)
 定義名を使用してグラフ範囲を自動的に更新できるようにしました。

 次にマクロでシートごとコピーして、テンプレートファイルの右隣に追加し
 その日の日付で名前を付けて保存。
 次の日はタイトルバー以下〜3000行をマクロでClearContentsし
 新たなデータを貼付けグラフができたら、またシートごとコピーし。。。
 と、日々データを追加して行こうと思ってますが、
 グラフの範囲は延々テンプレートシートを参照します。
 シートを増やす度に定義名を増やすのはスマートでは無いですし、
 何か範囲がついて来る良い方法があれば教えて頂きたいのですが
 よろしくお願い致します。 

 ちなみに、グラフだけを図としてコピーして行く事も考えたのですが、
 上司には後々グラフ操作する時もあるので却下されました。
 今のやり方ではダメでしたら、過去ログに有りました、
 毎回グラフの範囲を変更するマクロでやってみようと思います。 


 グラフと「グラフの元となるデータ範囲」を固定する。
グラフ化したいデータを「グラフの元となるデータ範囲」に表示する
ような仕組みがよいのではないかと思いますが、いかがでしょうか。
 
(みやほりん)(-_∂)b

 みやほりん様コメントを頂きありがとうございます。
 すみません、私の理解力が足りず具体的にどうすれば良いかイメージできません。
 「グラフの元となるデータ範囲」の固定ですが、タイトルバー以下〜3000行まで
 定義名を付けていますのでこれが固定している?!と自分では思っていたのですが。。
 「グラフの元となるデータ範囲」はセル番地に$を使用したりして固定するという意味でしょうか?
 (茶色氏)


 グラフをいくつも作らないで、グラフを表示する為のシートを一つ
固定してしまって、関数かマクロで、グラフ化したいデータを都度
呼び出すようにしたら、と言う意図でした。
 
ですが、んーよくわからなくなってきました。(元々グラフは不得手)
テンプレートシート上にグラフを作る
テンプレートシートをコピーし、名前を変更する
ここまでなら、コピーされたシートのグラフはコピーされたシートのデータを
参照しますね。
 
マクロでの処理もやられているようですが、
どのタイミングでグラフが作成されているのかが問題のような気がしてきました。
(みやほりん)(-_∂)b

 >グラフをいくつも作らないで〜
 なるほどですね。よく分かりました。
 しかし、その時のデータとセットで横にグラフを残して行きたいという
 依頼者からの要望が有りまして未だ考えております。
 ほとんどパソコン作業されない方の為用にという事で苦労しております。

 現状では、定義名を使用してグラフ範囲を自動的に更新するように
 設定しているのが邪魔をして
 http://support.microsoft.com/kb/183446/ja
 コピーしたシートのグラフは、延々コピー元シートのデータを参照したままなのです。
 ですので、どのシートもグラフだけは全部その日のテンプレートシートのグラフと一緒
 で残っていくのです。 

 色々調べたのですが、あまり良い方法も見つかっておりません。
 毎日シートを増やしてもブックを増やしても、
 かかるファイル容量はそんなに変わらないので
 テンプレートブックを1つ作って、ブックごとコピーして残していくようにするか、
 (この方法ならうまく行きました。)

 毎回グラフ化したい範囲をドラッグする必要がありますが
 過去ログに掲載されておりました、下記方法を参考にさせて頂こうかなと
 思っております。
 http://www.excel.studio-kazu.jp/kw/20041101145805.html
 ご丁寧にコメント頂きましてありがとうございました。(茶色氏)


 名前定義が基本的にブックに定義されるもので、シートのセル範囲に定義
されるものではない、と言うエクセルの仕様が邪魔をしているようです。
http://support.microsoft.com/kb/183446/ja
上記を参考に試行。(XL2003)
名前定義の段階ででSheet1!Dateのようにシート名を含めた名前定義を行って
おきます。Sheet1でデータを編集し、シートコピーを行うと、次のようなメ
ッセージが表示されます。
 
「移動またはコピーしようとしている数式またはシートには、移動または
コピー先のワークシートにすでにある名前’Date’が含まれています。
この名前を使用しますか?云々」
 
ここで「はい」を選択するとシート独自の名前(Sheet1 (2)!Dateのように)
が作成されます。
グラフ自体の系列データは定数配列化され、コピー元のシートとのリンクは
解除されますが、コピーされたシートのデータともリンクしないグラフにな
ってしまいます。結果的にどのシートのデータともリンクしていないと言う
意味で図形コピーと変わりませんね。
 
私のお勧めはやはり、次の要点を満たす構造です。
(1)全てのデータを一つのシートに集約する(リスト)
(2)キーワード(日付等)の入力で必要なデータだけ随時関数などで抽出する
   (データベースとしてリストを活用)
(3)抽出されたデータを元にグラフを随時更新(この部分は名前定義の工夫で
   できそう)
 
日付ごとにシートやブックが増えていくのは後で使いにくくなる原因にもなります。
エクセルの学校で「複数ブック(シート)を集計するには」とかの相談が多いのも
エクセルは使い方を考慮していないことを示しています。
何月何日のデータがどこかに保存されているから探してきなはれ、というのが
Excelはとても苦手なのです。結果として、探してくるのが人間の仕事になるので
後々、大変な思いをすることも。
 
(みやほりん)(-_∂)b

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.