基本方針 VBA

Excelでの作業効率化・VBAの可読性向上・誤りを防止するためのメモ. VBAのコーディングは好みが分かれるため,他人が参考にするものでもないかも.

こちらも 基本方針 Fortran

Option Explicitを使用する

  • Fortranのimplicit noneと同様にスペルミスを防ぐ.型を明示したほうが整理しやすい.宣言しない場合はVariant型になるというのもスマートな感じがしないし,メモリの無駄遣いだと思われる.
  • ただし,VBAでがっつり解析を行うという人は滅多にいない(と思う)ので,短いSubでは必要ないのかもしれない.

変数名をわかりやすく,1文字にしない

  • 1文字はループで使うi,j,kくらい.
  • 大文字小文字の区別をうまく利用する.単語区切りで頭文字を大文字にするとか,特定の型だけ大文字で始まる,とか.コミュニティ内でルールを統一させる.
  • 他人が見ても,自分が久しぶりにいじることになっても,何のことかわかるようなネーミングを心掛ける.

VBAを実行するファイルと,I/Oファイルを同一にしない

  • 処理実行をするファイルは,データ元のExcelファイル(ブック)と別にする.
  • コードを書いて制御する.xlsmファイル(マクロ有効ブック)からデータが格納されているファイルを開き,さらに別のoutput用ファイルを開いて出力,という構成が基本.
  • 他の言語だと当たり前のように思えるが,なぜかExcelになるとその考えに至らない人もいる.

グラフ描画は雛形を作成しておく

  • Excelで最初から思い通りのグラフが描けることはまずない.
  • 軸のフォントや線の太さ,マーカーのサイズなどの体裁を一通り整えたグラフを,ダミーデータを使用して事前に(手動で)作成しておく.その後,VBAのコードでコピーして参照範囲を変更して描く,という手順がVBAでは最も楽で効率的.
  • 似たような形式のデータでグラフを大量生産する場合にも大きさが統一されるし,雛形グラフのコピーのため,体裁を整えるコードの行を最小限に抑えられる.
  • コードでグラフを作成して体裁を整えようとなると相当手間がかかる.MATLAB慣れしているとなかなかこの思考から抜け出せなかった.

Front page   Edit Diff Attach Copy Rename Reload   New List of pages Search Recent changes   Help   RSS of recent changes
Last-modified: 2016-09-10 (Sat) 10:42:17 (1434d)