プログラミング未経験者でもマクロ作成で業務効率化は出来る!

2021年10月17日

Pocket

パソコン業務を効率化するために有効な手法としてExcelマクロで業務自動化を実現する方法があります。

ただし、Excelマクロを作成するにはVBAと呼ばれるプログラミング言語の知識が必要になります。

VBAは活用したいけど、プログラミングはあまり詳しくない・・・

そんな方向けに記事を書き留めてみましたので、最後まで読んでみてください。

こんな方におすすめ

吹き出し用

・VBAって何?
・プログラミングはあまり詳しくないけどVBAで自動化したい
・具体的にVBAで自動化するにはどうすればいいか分からない
・VBAの知識を身につけたいがどうすればよい?
・知識は無いけど、とにかく手っ取り早く自動化したいよ!

  

Excelマクロって?VBAって何?

Excelマクロとは、一言で言うと、Excelの操作を自動化する機能のことです。

Excelはそれ自体がとても便利なソフトであり、仕事でよく利用している会社がほとんどかと思います。

ただし便利だからこそ、Excelに頼る仕事量も多くなり、Excelを操作する時間も増加していきます。

そんな操作をボタン一つで自動化できれば、作業時間を大幅に短縮することができます。

そんなマクロを作成する時に使用されるプログラミング言語がVBA(Visual Basic for Applications)です。

ただしVBAを扱うには、ある程度のプログラミングの知識が必要になるため、ハードルが低いとは言えないのが実情です。

プログラミングができなくてもマクロは作れる

プログラミングについて詳しくない人でも、マクロを作成する方法はあります。

それを実現するのが「マクロの記録」機能です。

「マクロの記録」機能は、Excelの「開発」タブを選択後に表示されます。(下図参照)

マクロの記録の場所

※「開発」タブはデフォルトでは表示されない事が多いため、以下の手順で追加してください。

①ファイルタブ→②オプション→③リボンのユーザ設定→④「開発」にチェック→⑤OKをクリック

「マクロの記録」を使ってマクロを作ってみた

マクロの記録を開始

「マクロの記録」を一度クリックすると、「記録終了」をクリックするまでマクロの記録が行われます。

記録中にExcel操作を実施すると、操作内容が自動的にマクロ化されます。

実際に作ってみましょう。

例えば下記の成績表で、数学が70点以上となるセルを黄色に塗るマクロを作ります。

成績表

まずはマクロの記録を開始します。

①「マクロの記録」をクリック→②「OK」をクリック

マクロ開始

記録したい操作を実施

記録が開始されたので、以降はマクロ化したい操作を行います。

①数学列のC列を選択→②「フィルター」をクリック

フィルタ設定

①「フィルターの「▼」」→②「数値フィルター」→③「指定の値より大きい」をクリック。

④数字に「70」を入力→⑤条件に「以上」を選択→⑥「OK」ををクリック。

フィルタオプション

①C1セルにカーソルを合わせ「Shift+Ctrl+↓」でセルを選択→②セルの塗りつぶし(黄色)をクリック

色付け

①「フィルター」をクリックしてフィルターを解除→②C1セルにカーソルを合わせ→③ セルの塗りつぶし(塗りつぶしなし)をクリック

仕上げ

ここまででやりたい事ができたため、最後に「記録終了」をクリックします。

記録終了

これで、「数学が70点以上のセルを黄色に塗る」マクロが完成しました。

マクロ起動のトリガーボタンを設置

あとは起動するためのボタンを作成します。

①開発タブの「挿入」をクリック→②左上の「ボタン」をクリック→③ドラッグでボタンの大きさを決める

ボタンの設置

①先ほど作成したマクロのマクロ名を選択※→②OKをクリック

※ここで先ほどのマクロ名を選択することで、ボタンクリック時にマクロが起動するようになります。

マクロの括り付け

最後に、先ほどマクロ記録の過程で黄色に塗ったセルを「塗りつぶしなし」に変更しておきます。

完成!

これで完成です。

完成
完成!

完成!
実際にボタンをクリックしてみると・・・

以下のように数学70点以上のセルが黄色に変化しました。

マクロ実行後画面

以上が「マクロの記録」機能によるマクロ作成手順です。

プログラミングは一切することなく、マクロを作成することが出来ました。

このように、エクセル内の単純操作のみであれば「マクロの記録」は有効な手段です。

「マクロの記録」には限界がある

非常に便利な「マクロの記録」ですが、できないこともあります。

・繰り返し実施する処理

・変数を扱う処理

・条件により分岐するような処理

・エクセル外の操作(ファイルの選択や、Outlookの操作など)

そのため、より複雑な処理をマクロ化したい場合は、VBAでコーディングする必要があります

より高度な処理をマクロ化したい場合は、VBAを身につけるしかありません。

VBAのおススメ勉強法

①参考書

VBAに関する知識を、じっくり身に着けたい方には参考書を買うことをお勧めします。

参考書には、VBAに関する一通りの知識が載っていることが多いです。

一冊読み込むだけで、コーディングする上での基本的な知識を一通り身に着けることが出来ます

②インターネットで検索

作成したいマクロが明確になっている場合は、インターネットの情報から勉強することをお勧めします。

インターネットでやりたいことを検索すれば、必要としている情報が素早く見つけることが出来ます

また、サンプルコードを掲載しているサイトも多いため、コーディングも楽に行えます

目的が明確だと作成のモチベーションも上がるため、是非作成しながら知識を身に着けてください。

③詳しい人に教えてもらう

本やインターネットでは知りたいことがなかなか見つからないこともあります。

また、見つかったとしても、解説のレベルが上級者向けで理解できないこともあります。

そんな時は、周りにVBAに詳しい人がいれば、知りたいことを直接教えてもらうことができるため、上達のスピードが格段に上がります

④プロに教えてもらう

周りにVBAについて詳しい人がいなければ、その道を生業としているプロに聞いてみるのも一つの手です。

VBAに対するニーズも多いので、プロに教えてもらうような場も増えてきています。

値段もリーズナブルな場合が多いので、聞きたいことをまとめてプロに解消してもらうと効率的です

いっそのことプロに作ってもらう

  • VBAに挑戦してみたけど自分には難しい
  • 効率化はしたいけどVBAを作る時間が無い
  • とにかく手っ取り早く業務効率化を実現したい

そんなときは開き直ってプロに作ってもらいましょう。

値段も数千円~とリーズナブルなので、自分で時間をかけて勉強して開発するよりもコスパが良い場合もあります。

是非こちらも検討してみてください。

まとめ

「マクロの記録」機能を使えば、プログラミング不要でExcelマクロを作成可能です。

勉強を始めたり、プロに作成を依頼する前に、まずは「マクロの記録」で自動化できないかを試してからでも遅くはありません。

まずは身近な単純作業を、「マクロの記録」を使ってマクロ化してみてはいかがでしょうか。