会計事務所の仕事で Excel を使う際にマクロを作る場合があります。
マクロは Excel VBA で作ります。
これを使えば複雑な面倒くさい作業を一気に終わらせることができるのでメリットはあるのですが、
マクロを作って効率化できる場合でも、実際に作るかどうかの判断は必要と考えています。
1、プログラミング自体に時間がかかる時はある
Excel VBA でのプログラミングは 1時間程度で書けるものから、発想が必要で膨大な時間がかかるものまで様々です。
はじめて見るソフトから出力したデータをじっくり調べる必要があるときなどは大変です。
Excel シート上でのデータの並び方を見て、規則性を見つけ出さなければなりません。
労力の割にマクロを作るメリットが小さい場合もあるわけなんですね。
2、日々の仕事でマクロを作るか否かをどう判断するか
マクロを作るかどうかの判断基準として一番大きいのは、その作業を後々何回くらい行うか考えることです。
・ある顧問先の給与 の Excel データの並び替えを毎月行う場合
上記のように毎月行う作業であればマクロを作るメリットは大きいです。
例えばマクロを作るのに 3日間かかったとしても、そのかけた労力は後々の効率化による作業短縮で回収できるからです。
上記のような場合も年一ということで頻度は低いですが、全ての顧問先に対応できるのはスケールメリットがあると言えます。
例えば、年末調整の保険料控除等申告書の Excelデータを会計ソフトに取り込む仕組み(VBA + UWSC)を作るのに何日もかかりましたが、過去数年間にわたって活躍してくれています。
年末調整時に「給与所得者の保険料控除申告書兼給与所得者の配偶者特別控除申告書」(以下、保険料控除申告書と呼びます)を作成しなければなりません。そして、保険料控除申告書の内容を税務ソフトに入力しなければなりません。私がいる会計事務所では、税務ソフトはJDLの「年末調整システム」を使用しています。従来は紙の保険料控除申告書に手書きで記載した内容を見ながら、年末調整システムに手入力していました。私が事務所に入った後に、業務改善を行い Excel で作った保険料控除申告書に PC上で入力した後に、ワンクリックで年... マクロ(Excel VBA + UWSC)を使った業務効率化事例 Excel 保険料控除申告書に入力... - My タックスノロジー |
上記のように使える範囲が狭く頻度も少ない場合だとわざわざマクロを作るか判断が必要になりますかね。
そもそもマクロを作らなければできない処理であれば作らざるを得ません。
ただ、そうでなくても自分で手作業すればできてしまうような処理の場合、
マクロを作る労力とのバランスで判断するようにしています。
作っても出番は年に1回です。
すぐにできるようなマクロであれば作りますが、数日間かかるようなものであれば作らない場合が多いです。
年に1回の作業のために数日間かける価値がない場合が多いからです。
確かにマクロを使えば2時間の作業が1秒で終わったりしますが、そのマクロを使う頻度が極めて少なくかつ作る労力が大きいときは手作業でやってしまった方が良いかと。
3、関数で済ませる意識も大事
さて、マクロを作ると判断した前提でのことですが、本当にその処理がマクロを作らなければできないことか? 見極めることも大事と考えます。
これは自分にも言えることなのですが、マクロを作った方がかっこういいから! と思って関数を使えばできることでもマクロに走りがちなところがあります。
特にマクロをある程度使えるようになってきた頃はそうでした。
関数を使えばできることを、わざわざプログラミングしてやることも無いと思います。
勉強期間中で敢えてそうするのなら別ですが。
4、まとめ
マクロは作るのに一苦労な場合もあります。
そのようなケースの場合、作るメリットを考える必要があるかと思います。
スケールメリットが無いものを苦労して作るのは労力を回収できないのでやらない方が良いかと思います。
編集後記
昨日(8/27)ははこれまでずっとやれていなかったブログの改良に着手。
子供2人は実家で面倒を見てもらったので、それによりできた時間を有効に使うことができて良かったです。