2007年11月22日木曜日

第61回目 グラフ関係の図式的な整理、あわせてちょっとした小物編の整理

○第61回目 グラフ関係の図式的な整理、あわせてちょっとした小物編の整理

 グラフ関係のマクロの整理をしましょう。

 グラフ管理表は次のようになっています。










 グラフ関係のマクロはサブルーティン化されて次のようになっています。
 メイン;グラフ作成
  サブ;
    1.グラフ新規作成(一括作成)
    2.グラフからデータ系列の取得(表示も含む)
    3.グラフの追加(ワークシートからのデータ系列の取得から)
    4.グラフデータ範囲の修正(ワークシートからのデータ系列の取得から)
    5.グラフタイトル等の修正(ワークシートからのタイトル等の取得から)
 となっています。
 このシステムは、2を中心に動きます。これによりワークシート上に、既存のグラフのデータ系列が表示されるからです。これを加工したあと、グラフに反映させるのは、4.となります。
 また、このデータ系列をもとにして、新たなデータセットを作って、グラフに追加するのは、3.となります。
 グラフを管理するワークシートを作るとスムーズにいきます。2.のデータ系列の取得・表示も、貼りつけるセルを指定(シートの移動と同じコマンドを使う)するようにしましたので、任意性も出てきました。
 グラフの順番を変えるのも、データ系列をソートして、その結果を4.でグラフに返してやれば、意図した順番になります。(他のグラフでの表示とあわせるためなど)
 作業してみて、どこのセルを指定したらいいのかの指示があるといいと思って、そのセルを色付けしました。また、見出しも作っていますので、わかりやすくなっています。
 管理表は、一括新規作成用のエリア、タイトル修正用のエリア、データ系列のエリア(20系列ほど確保)となっています。また、表札名(凡例に表示されるもの)も、データ系列にあわせて表示することにしました。
 どんどんわかりやすくなっています。
 後は図形(オートシェイプ)の研究をして、コメントを追加することでしょうか。位置の問題があるので、大体の場所を指定するができることを考えています。

 同様に"ちょっとした小物編"で取り上げたものを整理しました。
 なお、最後の小技関係は取り上げていないものも含めています。

 メイン;印刷作成
  サブ;
    1.一気にシート印刷(ダイアログの表示を省略)
      =⇒ほとんど使用価値なし。Ctrl+p、Enterのほうが早い。
    2.指定範囲の印刷(設定した改行マークをまたいで指定するとページが分かれる点を、改善すべき)
    3.ページ指定の印刷(シート内。カラープリンタの設定も可能)
    4.複数シートの印刷(現在のシートから複数シート設定。カラープリンタの設定も可能))
    5.自分好みのヘッダ・フッタのセット
    6.印刷ダイアログの表示

 メイン;罫線作成
  サブ;
    1.全部引く
    2.五飛びに横罫線を引く(飛びは指定可)
    3.細線の横罫線を引く
    4.全部消す
    5.罫線ダイアログの表示

 メイン;ジャンプ関係
  サブ;
    1.シート内にジャンプ(セルを指定)
    2.シート外にジャンプ(セルも指定可)

 単 独;コピー関係
    1.計算式のみコピー(シートの指定は不可)
    2.数値のみコピー(シートの指定は不可)

 メイン;コピー関係
  サブ;
    1.計算式のみコピー(シートの指定も可)
    2.数値のみコピー(シートの指定も可)
    3.シート内で複数回のコピー(コピー先が複数に渡って規則正しい場合)
    4.シート外の複数回コピー(コピー先が複数シートに渡って場所が同じ場合)

 メイン;計算式文字化関係
  サブ;
    1.計算式を文字に(頭に特殊文字列を付加)
    2.文字を計算式に(頭の特殊文字列を削除)
    3.計算式を文字にしてデータのみの貼り付け

 メイン;セルの結合関係
  サブ;
    1.セルの結合
    2.セルの結合の解除

 メイン;小技マクロ
  サブ;
    1.連番入力(範囲内に連番を作成)
    2.複数文字列の置き換え
    3.シート名の取得(ファイル内の全シート名を取得)
    4.数式セル保護
    5.端にヌル式セット
    6.端にsum関数セット
    7.指定範囲の座標を貼り付け(範囲を指定したA1形式の座標を貼り付ける)
    8.列記号の生み出し(連続する列記号を作成)
    9.セルの階段状挿入

 メイン;小技^2
  サブ;
    1.指定範囲の数値のみを100倍
    2.指定範囲の数値のみを1/100
    3.指定範囲の数値のみをクリア
    4.指定範囲の特定文字列を含むセルのクリア

0 件のコメント: