2007年11月3日土曜日

第56回目 グラフ関係(その2)

○第56回目 グラフ関係(その2)

 とうとうグラフです。グラフはめんどくさいです。あれこれと細かに設定しなければ出来ないので、筆者などは二の足を踏んでしまいます。
 グラフ関係でマクロ操作により7割ぐらいカバーできるものが出来ないのか、という思いを強く持ちます。私どものところは時系列的な変化を取ることが多いので、主に折れ線グラフとなります。
 それをベースに何とかマクロでできないものだろうか…
 という問題意識が、ある時ほぼ解決されました、というより、その糸口が見えてきました。
 第41回を"その1"としますので、今回は"その2"となります。

 グラフ作成のパラメータをつくりそれを元にグラフを作る・更新するという機能をとりあげます。

 さて、基本的な機能として何が必要でしょうか。その分析で60%完了です。

 1.グラフに新しい系列のデータを追加する。
 2.グラフのデータ系列を違う系列に変更する。
 ※データ系列とは、データの表札(凡例に出てくるもの)、横軸の数値、データ値となります。
 3.グラフの属性(タイトル、目盛りなど)を簡単に修正する。
 4.グラフの削除(削除はクリックしdeleteキーで可能なのでマクロでは面白くないかもしれません)

 こんな例がありました。すでにあるグラフが出来ています(データ系列の参照は同一ファイル)。違う前提条件で求められたデータ系列が別ファイルにあります。ファイル内の体系は既存のファイルと同じです。このデータ系列で同じグラフを作りたい(データ系列を置き換えたい)。既存のグラフと比べるとデータ系列のファイル名のみが違うだけです。
 (グラフ込みのファイルをコピーして、それを元に違う前提条件で計算しなおせば、改めてグラフを作る必要がないという意見があると思いますが、作者が違う時は、データ系列があるそれぞれのファイルにグラフを挿入する必要性が出てきます。そういったケースを想定しました)
 
 これを次のようにやっていました。
 1.グラフシートを新しいファイルにコピーする。(この段階で、データ系列以外は、条件を満たします。データ系列は元のファイルで参照されているもののままです)
 2.グラフを一つ一つクリックして、グラフのデータ系列指定のタブを出し、データ系列の表札、横軸数値、データ値の指定座標から、ファイル名を削除する(ファイル名を削除すると当該ファイルのシート名、座標からリンクされる)。
 2の操作が大変で、グラフ作成に慣れない者にとっては苦痛でした。画面を凝視する必要があり眼がしょぼしょぼになります。通常のワークシートであれば、置換えがあるので簡単に修正できます。その頭があると、操作が更に苦痛となってきます。
 もっと簡単な操作でできないのか…。
 この場合は、その後更に別の二つデータ系列を追加しなくてはならず、結構疲労が残りました。

 これを次のようにしようというものです。
 1.はそのままです。
 2.を分解し、まず、現状のデータ系列の情報を取得し、ワークシートに書き出します。情報とは前にも述べたとおり、表札と横軸とデータ値の三つ座標情報です。それぞれにファイル名がついていますので、それを削除します。一括の置換えで一気に出来ます。
 3.次に、修正した情報によりグラフを直すという、操作です。(機能的にはそれぞれの座標を修正することも可能とします)。
 これにより、マウスによる操作から、ワークシートレベルでの操作になり、スムーズに進みます。

 新しい系列のグラフの追加は、先ほどの情報(パラメータ)をもとに、新たらしい系列の情報を作ります(コピーし修正)。そして、それを元にグラフを追加する、ということで終了です。
 その他の機能として、"3.グラフの属性(タイトル、目盛りなど)を簡単に修正する"がりますが、対象は、タイトル、横軸目盛の最小値、最大値、目盛間隔、目盛の表示桁数です。
 グラフの削除のマクロ化は気が乗りません。

 今回は能書きだけです。

 【グラフ管理表の例】


 ※グラフ関係のマクロでのコマンドは解説が少ないので苦労します。エクセル2007では、マクロの記録を動かしても、たいした内容しか記録されないために、かなりの試行錯誤となります。

0 件のコメント: