エクセルは仕事で必ずと言って良いほど必要となります。
どれだけエクセルを使いこなすことができるかによって、
仕事のスピードは相当に変わります。
しかし、関数やエクセルに備えられている機能を知り尽くして使いこなしているよりも、
エクセルのマクロを使いこなすことができれば、完全自動化も夢ではありません。
- ある程度は関数を使っているが、一部手を入れなければならない作業
- 1日かけて行っていた作業
これらは、マクロを利用することで数分、数秒の間に完全自動で行うことができます。
普段の業務で、特に次のような気持ちを持っている方には役に立つ記事となります。
- 毎日のルーティン作業が面倒
- 作業時間を短縮したい
- 手計算ではミスが発生する
- 業務上マクロを使う必要が出てきた
- 資格を取っただけで終わらせたくない
- 社会人としての付加価値を身に付けたい
そんな方の役に立てるように、この記事ではマクロを使いこなすためのTIPSをまとめていきます。
一歩ずつ、マクロを使いこなすスキルを身につけていきましょう。
VBA・マクロの第一歩
・マクロの記録から始めよう
エクセルの作業を自動化するには、普段行なっている処理をコードに置き換えなければなりません。
しかし、今まで使ったことがないのにいきなりコードを書くことは難しい面もあります。
1つ1つ調べて記述していくにも時間がかかります。
そのため、初めてマクロを使う際には、「マクロの記録」を使いましょう。
「マクロの記録」をすることによって、
手入力で行なっている作業をコードとして自動で記述してもらうことができます。
記録したコードをまた実行して、実際に動くところを見てみましょう。
・VBE(編集画面)について
マクロの記録でコードのイメージを掴んだら、
早速、簡単なプログラムを書いていきましょう。
そのために、VBE(Visual Basic Editor)について簡単に知る必要があります。
実行処理に時間がかかる時
大量のデータを扱うためには繰り返し処理が有効な方法になります。
しかし、データの量が多いゆえに実行処理に時間がかかることもあります。
(実は、この記事を書いているまさに今、エクセルの処理の完了を待っています。
エクセルで1万行近くあるデータの処理を自動化しようとしているのですが、
想像以上にマクロの処理の完了に時間がかかっています。)
そんな時は以下の点が原因として考えられます。
- 複数のエクセルファイルを開いている
- ワークシート関数を使っている
- エクセルの画面表示の更新に時間がかかっている
- Selectを使っている
ワークシート関数はSUM関数、VLOOKUP、COUNTIFなどの関数のことです。
マクロを実行するときには、現在開いている全てのエクセルファイルの、全てのシートの、全てのワークシート関数が再計算されます。
それぞれに計算を行なっているために時間がかかってしまいます。
また、それに伴って画面表示をいちいち更新してくれています。
対処法は次の通りです
- 不要なエクセルファイルは閉じる
- 自動計算を停止する
1 |
Application.Calculation = xlManual |
ただし、自動計算を停止すると、本来計算が必要なはずの処理も計算されなくなってしまう可能性があります。
面倒な手作業を効率化するためとはいえ、
処理を間違えてしまうと誤った成果物が完成します。
提示した資料の内容を元に周りは動き区ので、
勤め先の企業の各店舗や、経営層にまで行き渡る資料であれば、
それによって経営判断、店舗経営のミスに繋がる可能性もあります。
十分注意する必要があります。
- 画面表示の更新を停止する
1 |
Application.ScreenUpdating = False |
- Selectを使わないコードに書き換える
「マクロの記録」を用いると簡単に自動化することができるのですが、
セルの選択(まさにSelectを使います)など、
本来必要のない処理が存在することがあります。
そのため、コードの中身を見て不要な部分を削除したり、
より効率の良い処理ができるよう書き換えなければなりません。
ちなみに、Pythonであればより大量のデータをより早く処理することができます。
本格的なプログラミングのステップアップとして、
マクロに慣れてきたらPythonに挑戦してみるのも良いかもしれません。
マクロ・VBAを身につけるためのステップ
まずは資格を取る
いきなりマクロ・VBAを使いこなすようになるのは難しい面があります。
そこで資格の勉強をすることで周辺知識も含めて初歩の段階の知識を身につけることができます。
資格を持っていれば、スキルがあることをアピールする客観的な証拠にもなります。
本当の意味でマクロ・VBAを身につけるのであれば、資格を取得するだけでは不十分です。
だからこそ、資格を取ることができたら、次は実際にコードを書いてみるステップへ進みましょう。
(資格の勉強中から触れてももちろん良いです。)
実際に書いてみる
資格を取得したら、次のステップとして実際にどんどんコードを書いていきましょう。
初めのうちはExcel VBAスタンダード試験のテキストでも良いです。
それでは物足りなくなってきたら新たなテキストを購入するタイミングと言えます。
コメント