中級

エクセルで毎日のように
繰り返し行う面倒な作業を
自動化する場合のコツ


(約文字)

2018-10-29

Excelで時短する時の自動化のコツ。

この記事では、時間短縮の為にプログラム(VBAやマクロ)で作業プロセスを極限までゼロに近づけるコツを紹介。 繰り返しの面倒な作業や、一つの事を複数人が同じルールに基づいて作業をする場合、エクセルのマクロやVBAで自動化をすることで、とても大きな効果を生み出すことが可能です。

エクセルのマクロやVBAで自動化を行う場合のコツをまとめたいと思います。

1.マクロとは

事前に作業をマクロに記録しておき、記録したマクロを再生すると、記録した作業が自動で実行されるのがマクロです。 マクロを使えるようにするには、開発タブを表示する必要があります。

[ファイル] >[オプション]>[リボンのユーザー設定]>[リボンのユーザー設定] > [メイン タブ] > [開発] チェック ボックスをオン

マクロを記録するには、以下の流れで実施します。

[開発タブ]>[マクロの記録]>記録したい作業の実施>[記録終了]

2.VBAとは

エクセル用のBASIC言語で作成されたプログラムのことです。 エクセルでマクロを記録すると、実際にはその作業はVBAというテキストで記録されていますので、そのテキストにコードを追加や修正することで、任意の自動処理を作成することが出来ます。 流れを簡単に表すと、次のフローになります。

マクロを記録する>エディターでコードを編集>プログラムを実行する

ちなみに「マクロウィルス」というのは、これを悪用したプログラムです。

3.自動化のメリット

マクロやVBAにより業務や処理の自動化を行うことで「スピードアップ(速度向上)」と「クオリティアップ(品質向上)」の大きく二つのメリットがあります。

スピードアップ(速度向上)

マクロやVBAで処理を行いようにすることで、人間の何倍になるかは正確には解りませんが、相当なスピードで処理が進みます。 あっという間に大量の処理をしてくれます。見たことある人はわかると思うのですが、画面がチラチラ切り替わりしながら自動で処理されるのは初めてみると驚きますw 例えば、毎日一時間程度、同じような作業をしていたとして、これをVBAで自動化すると、パソコンの処理性能にもよりますが、およそ10秒程度で処理が終わると思います。 3600秒かかっていた作業が、たったの10秒に短縮されます。これを一年に換算すると、3590秒×250日=897,500秒=249時間の時間短縮になります。 コストで考えれば、249時間×1,800円=448,200円と、大きな効果を生むことが出来るのです。

クオリティアップ(品質向上)

人間は必ず間違いを起こします。どんなに集中力を高めて、やる気を出して、最大限の注意を払ったとしても、間違いを起こしてしまいます。 これはヒューマンエラーというものですが、ヒューマンエラーを防止するにはコストがかかります。例えば、完成したものを他社がダブルチェックする等です。 一方、パソコンやスマホ等の、コンピュータは絶対に間違えることはありません。完璧な処理をしてくれるのがコンピュターの最大の強みです。 もし間違った結果が出てきたらそれは、作ったプログラムがおかしいか、プログラムに与えた情報が間違っているかのどちらかです。 人間が行うバラツキのあるアウトプットを、自動化することで一定の品質を保ったアウトプットを毎回得ることが出来るようになります。

4.自動化のデメリット

自動化には大きなメリットの一方、「プログラムは簡単に作れない」と「プログラムの変更が面倒」のデメリットもあります。

プログラムは簡単に作れない

マクロはエクセルに作業を覚えさせるだけなのでとても簡単ですが、汎用性がまったくないので実際には役に立つものではありません。 一方VBAはプログラムで「Visual BASIC for Application」という言語を覚える必要があります。 VBAは他の言語にくらべれば分かりやすい方だと思いますが、プログラムの経験がなくゼロからのスタートであれば、使いこなすのに数か月かかります。

エクセルがインストールしてあるパソコンであれば、誰でも無料で使えます。エクセルを起動した状態で【Alt】+【F11】キーで、VBAの開発環境が開きます。

プログラムの変更が面倒

仕事の流れが変わった、必要な情報が得られなくなった、等、仕事に変更があると、プログラムも修正する必要が出てきますが、その時がなかなか面倒な場合があります。 変更の大きさにもよりますが、ほぼゼロから作り直した方が早いような大きな変更の場合は、メンテナンスに大きなコストが発生してしまう場合があります。 人間は臨機応変に対応できますが、コンピューターは臨機応変が苦手です。 更にAIが進化すれば臨機応変に対応できるようになるのでしょうが、現在のエクセルのマクロやVBAにはAIが搭載されていないので、自分でメンテナンスする必要があります。

今後、変更予定がなさそうな定型業務を自動化させておくのが、このデメリットから回避できるひとつの手です。

5.自動化の流れ

やりたい事を決める(最終的に目標とする結果)

まず初めにどんな作業を自動化したいのか、明確にする必要があります。 何処までの作業を自動化して、最終的にどんなものを作り上げるのかを意識することが大切です。 現在手動で作業しているのであれば、その作業のどの部分を自動化させたいのかを、書き出すといいです。

全体を流れを決める(目標を達成するためのプロセス)

プログラムに必要な情報は何か(インプット)、その情報をどのように処理(条件分岐や繰り返し)していくのか(プロセス)、プログラムの結果はどんな形にするのか(アウトプット)を明確にします。 一般的にはフローチャートを作成すると、全体の流れが明確になるので、作成するのをお勧めします。

プログラムを書く

やりたいことと、全体の流れが決まったら、プログラムを書いていきましょう。いきなり書くのは難しいと思いますので、まずはマクロで記録して、その内容を修正しながら、最終的にやりたいことが出来るようにしていきましょう。 ネット上にはVBAに関して個別の情報がありますし、包括的な情報なら書籍を購入するなどして、勉強が必要になります。初心者用の情報をみて、実際にコードを書きながら動きを理解するのが、上達のコツです。 機能ごとにVBA上の関数にしたり、ソースコードに概要をコメントしておくと、後々でプログラムの再利用性や、メンテナンス性が向上しますので、余裕があれば、関数化やコメント追記をしておきましょう。

動きを確認して実際に使う

出来上がったプログラムは、本番で使用する前に、十分な確認を行いましょう。これはプログラムの世界ではデバッグと言われる内容です。 VBAのエディターには様々なデバッグ機能が付属していますので、これらの機能をうまく活用して、プログラムの妥当性を確認しましょう。

作ったプログラムを実際の仕事で使う前に、意図したとおりの結果が求められるかを、デバッグ作業を通しじっくり確認しておきましょう。 特にプログラムにおかしな値を入力するとか、意地悪な操作をしてみるとか、想定外の事が発生したとして、それに耐えられるだけのプログラムが出来ているのか、しっかり確認しましょう。 特に他のファイルの参照や移動・コピー・削除など、プログラムが大きな損失を生まないことを確認しておく必要があります。 仕事が変更になったり、使い勝手がいまいちだと思うようになってきたら、プログラムを改善してみましょう。

6.自動化で気を付ける点

自動化で気を付けることとしていくつかの注意点があります。

小さな処理から自動化してみる。

いきなり大きな仕事を自動化させるのは無理があります。プログラムに不慣れな初めの内は、小さな仕事だけど定期的に行っている面倒な作業を自動化してみましょう。 同じ作業を何度も行うのは面倒です。人間が行うと疲れますし、結果ミスを起こしやすくなってしまいます。そんな繰り返し作業は自動化にぴったりです。指定回数でも、条件を満たすまででも、コンピュータは何度でも、文句も言わずに作業を繰り返してくれます。

上司への提案の必要性を考える

特に年齢が高い人でPCスキルが高くない上司の場合、処理を自動化することが「悪」と思っている方も少なからず存在しています。 ”根性”や”努力”が一番大事って考え方を持つ”超保守的”な存在で、あなたの提案する自動化を快く思わない場合もあるので”報連相”とは言いますが、作業改善を提案するのは控えたほうが良いかもしれません。

この記事は以上です。最後までご覧頂き、ありがとうございました。

シェア

\ Let's Share !! /

この記事が参考になりましたら共有をお願い致します。

コラム【028】 コラム

それでも組織はゆっくり変化する

自動化の改善を提案してもOKを出さなかったり、「自動化した物を手で再計算し直せ」と言われたりすることが実際に経験があります。 ほんとに”老害”となる上司を持ってしまうと不幸です。今の自分はそんな上司ではないので、自由にできるのですが、日本の明るい未来が不安になります。

まぁ組織はそんなに簡単には変わらないということです。一人でよい方向に変えようとしても、反対派意見が邪魔をして全く変わることはありません。変える前にコンセンサスを得ることが大事です。 と言っても、コンセンサスを得るなんて簡単ではないので、まずは自分の責任範囲を改善し、その後、少しずつ、じわじわ、ねちねち、こつこつ、ゆっくり変えていくしかないのです。 上記で”老害”と表現しましたが、先人としての経験やノウハウも少なからず持っているはずで、それらも踏まえリスクを回避し、バランスを保ちながら徐々に改善は進むのでしょう。

同じカテゴリの記事