マクロのコードを見ると、その人の力量がある程度分かる。
マクロの記録を貼り付けしているだけのものは論外として、一番手っ取り早いのはズバリ
シートの指定方法を見よ
シートの指定方法は、以下の三つである。
- 名前で指定する
- インデックス番号で指定する
- オブジェクト名で指定する
1,2,3の順番でコーディングをした者のレベルが高い。
名前で指定する
一番最初に学習するシートの指定方法である。
シート名で指定するのは初心者にも非常に分かりやすい。
デメリットとしては、シート名を変更するだけでマクロがぶっこわれる。あまりにも脆すぎる。
この指定方法しか知らないと、ループ処理でシートを操作するマクロが作れない。
この指定方法をしている人物は、マクロの初心者である。
他人にマクロを使わせる経験があると、次のステップに移行する意識が芽生える。
インデックス番号で指定する
インデックス番号でシートを指定すると、初級者だ。
インデックス番号でのシート指定に行きつくタイミングは、二つある。
- 他人にマクロを使わせたら、シート名を変更されてうまくいかなくなった
- 全てのシートに一括処理をしたくなった。
2.全てのシートに一括処理は、学習を続けていけば必ずやりたくなる。
For文の基本だからである。
単一のシートへの処理は出来るようになってきて、複数のシートに処理を加えてたい、初級者といえる。
オブジェクト名で指定する
オブジェクト名で指定していれば、中級者以上だ。
これをやっている人からすると、シート名で指定することは何のメリットも無いことが分かっている。
インデックス番号で指定するのは、コードが書きやすいとか、よっぽど理由があるときだ。
ちなみに私は、従業員300人規模の社内でVBAを使える人は2人しかいなかったが、オブジェクト名でシートを指定している人はいなかった。