基本方針 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慣れしているとなかなかこの思考から抜け出せなかった.