Excelは日常業務で使用していても、マクロまで使いこなしている方は多くはないと思います。マクロって聞いたことあるけどよくわからない、そんな方にもご理解いただけるように初歩からご説明します。ぜひ、この機会にマクロについて目を向けていただければと思います。
Excelのマクロとは?聞いたことはあるのに使えない機能
Excelのマクロ機能は多くの方にとっては言葉だけは聞いたことがあるけれど、難しそうだし使わなくてもなんとかなってるから別にいいかという機能だと思います。でも、使いこなせるようになると日常業務の手間をぐっと減らせる便利な機能でもあります。
マクロは同じ作業を繰り返し実行できる
Excelを使って日々のデータを管理する場合、毎回繰り返す操作があると思います。例えば、売上記録票からある品目のデータだけ抽出して、商品番号順に並び替えるという作業があった場合、
- 1.品目にフィルターを設定して抽出する。
- 2.抽出したデータを選択する。
- 3.並び替えを選び、キー項目に商品番号、並び替え順を昇順に設定し実行する。
という動作が必要になります。
マクロの記録という機能を使うと、その一連の処理の流れを記録して保存することができるのです。次回からその操作が必要になった時は、記録したマクロを実行すれば3手順で行っていた動作がマクロを選んで実行するという手順だけで完了します。
実際の作業を記録するだけでOK
まず、マクロを使ってみたいと思ったら、普段行っている作業を実行する前にマクロの記録を開始するだけです。作業が終わったらマクロの記録を終了して、マクロに名前をつけて保存しておけば、次からはその名前のマクロを実行するだけで、同じ作業ができます。
マクロの記録を開始したら手順を間違えないよう、あらかじめ動作を確認しておきましょう。もし間違えた場合は記録せずに、最初からやり直します。
必ずリセットマクロも用意しよう
マクロを実行してデータの抽出をした後、元の全データ表示に戻したいとします。この動作は「編集ー元に戻す」で取り消すことはできません。
そんな時のためにマクロを作る時は、解除用マクロもセットで作っておけば便利です。こちらも、フィルターを解除する操作を記録すれば作成できますので、必要に応じて用意しましょう。
Excelのマクロ作成に必要な作業とは?業務が多いほど大変
Excelのマクロ、うまく作成することができればとても便利な機能ですが、動作の組み合わせが複雑になる程作業は大変になります。
マクロ作りは今後の手間を省くためとはいえ、時間も気力も必要
マクロの記録は処理の手順が増えれば増えるほど大変な作業です。あらかじめ、手順を確認してメモを取ってから、記録を始めるほうが安心です。
もし、途中で操作を間違えてしまったら「編集ー元に戻す」で戻せる作業でしたら、最初からやり直さなくても一つ前に戻ってやり直すことができます。
また、マクロは長くなればなる程、途中の手順を変えたかったり、処理を追加するなどの変更ある場合、また記録して作り直すのが大変になります。
長い処理を記録する場合は、ひとまとまりの作業ごとに分けてマクロを作成し、組み合わせて一つのマクロにするなどの工夫が必要です。あるマクロを実行するという手順もマクロとして記録できます。
小分けしたマクロを順番に実行するという手順を記録して一つのマクロにしておけば、操作手順に変更があった場合の修正も再度全て記録し直すという手間を省くことができます。
複雑な処理手順の場合は、効率よく変更にも対応できるよう処理ごとに分けてマクロを用意し組み合わせて使いましょう。
作りっぱなしではなく、動作確認も重要
記録したマクロは、必ず実行して想定通りに動いているか動作確認をします。この手間を怠ると、次回マクロを使用した時に思わぬ不具合があって、原因追及に時間がかかってしまうことも起こるかもしれません。
正常に動作するかどうか確認するというのはプログラミングの現場では当たり前のことです。Excelマクロも自動でなんらかの処理をさせるというプログラミングの第一歩です。動作を確認しておくことは絶対に必要です。
作業するとき必ずバックアップしてから始めよう
業務用のExcelファイルにマクロを追加する場合は、必ず修正前のオリジナルファイルはフォルダーを分けるなどして残しておきましょう。特に抽出だけではなく、データの内容も書き換える動作も伴う処理の場合、動作確認でミスがあったとしても元に戻すことができなくなってしまいます。
また、マクロを追加したファイルはマクロを記録しただけでは保存されません。
エクセルのブックを保存して初めてそのブックに追加したマクロが保存されるので、マクロを記録したら必ずブックも保存するようにしてください。
Excelのマクロ外注のメリット・デメリットとは?
複雑なマクロを作成する場合、どの単位でマクロをわけて記録するかなど効率的に設計するのはプログラミングの考え方を持っていないと難易度が高い作業です。
複雑なマクロを組み合わせて業務を効率化するために、マクロ作りをExcelに精通した外部の技術者に発注することもできます。外部に発注する場合のメリットとデメリットをあげてみました。
メリット1 マクロ作成に慣れた技術者に動作確認までしてもらえる
Excelのマクロに精通した技術者に依頼することで、最も効率的な設計でマクロを作成してもらうことができます。専門家は記録したマクロのVBAを直接編集できるので、手順の記録だけでは難しい処理も組込んでもらうことも可能です。
また、慣れていないと難しい、最終的な動作確認まで責任を持って対応してもらうことができます。
メリット2 業務外の作業に時間を取られない
通常の業務を抱えながら試行錯誤してマクロを作成するのは大変です。一度作ってしまえば、便利だとわかっていてもなかなか時間が割けないのが実情です。
業務システムの外注コストを考えれば、Excelのマクロ作成の外注ならばぐっと抑えたコストで業務の改善ができます。
デメリット1 動作手順はキッチリ伝える必要がある
こちらの意図した通りのマクロを作ってもらうためには、複雑な手順をきちんと整理して伝えることが重要になります。場合によっては、依頼用の資料を作成しながら、マクロを作るより時間がかかっているのでは?という疑問を抱く結果になることもないとは言えません。
デメリット2 社内業務の情報漏洩の恐れが、守秘義務契約は必須
開発用にExcelシートを渡す場合、個人情報や社内の業務に関連する数値データなどが入っています。できれば、本データではなくテスト用のデータを作って渡すのがおすすめです。
しかし、抽出キーになるデータなどは実際の情報を渡さなくてはなりません契約の時、守秘義務契約は必ず組み込んでおくことをおすすめします。