メンテしやすいエクセルプログラムを作る3つの掟

属人性を排除せよ

鬼経理百の掟 其之拾四「属人性の排除」
という記事がありました。

仕事をするメンバー間でスキルに格差があり、特定の仕事は「あの人しかできない」というように人に依存してしまうことがあります。これを「仕事が属人化する」と言います。

ここで、仕事が属人化する理由としてこんなことが挙げられています。

EXCELマクロを組める者がマクロを大量生産し、他のメンバはメンテできず盲目的に依存する。

これはよくあることです。私も何度も見てきました。

属人化しやすいエクセルのマクロ

なぜ、エクセルマクロは属人化してしまうのでしょうか? なぜ他のメンバーはメンテナンスできないのでしょうか?

その理由の一つは、「エクセルプログラムの作り方が悪い」からです。
あとで後継者がメンテナンスできないようなプログラムを書いてはいけません。 では、メンテナンスしやすくするにはどうすればいいのでしょうか?

メンテしやすいプログラムを作る3つの掟

1.分かりやすいコメントを書く

まずは分かりやすいコメントを書きましょう。

If …. Then
a = a – 1     ‘aから1を引く

こんなコメントは意味がありません。書かなくても式を見ればすぐにわかりますから。コメントには、どんな処理をしようとしているのかなぜそうするのか、を書く必要がありましょう。

If …. Then
a = a – 1   ’…の場合は…が重複するので差し引いておく

このように1を引いた理由を書いておけばプログラムが読みやすくなります。

2.プログラムを小さく分割する

長いプログラムをダラダラと書かずに、サブルーチン化するか、プログラム自体を複数に分けて2回十石するようにしましょう。すると修正が必要になったときに、直すべきところがわかりやすいので楽です。

また、修正ができなかった場合は、一部だけを手作業で行って残りの部分はプログラムを使うという使いかたもできたりします。

エクセルのVBAプログラミングの場合は、プログラムで作った中間データをシートにはき出す処理と、中間データを取り入れて最終結果を作る処理に分けることもできます。中間データの表を見ることでプログラムの確認もできます。

3.難しいコマンドは使わない

あまり使われないコマンドを使うと、他の人が見てもすぐに解読できません。
簡単なコマンドで代用できるのであれば代用しましょう。難しいコマンドを使う場合はコメントにどういう処理なのかを書いておきましょう。

この3つの掟を意識して、メンテナンスしやすいプログラムを作りましょう。あなたがいなくても他の人が修正できるようにしておけば、あなたも安心して休暇を取ることができますよ。


鬼経理 百の掟

冒頭で紹介した「鬼経理 百の掟」というブログは、経理仕組家のmasaさんが書いています。まだ始まったばかりですが、経理のプロが仕事の鉄則を語っています。経理の仕事をしている人は読んでおきましょう。きっと役に立つはずです。