マクロと聞くと、作業が自動化されて、あると便利!と感じることがあると思います。
一方で、マクロを作るとなると、
「なんだか難しそう…」
「プログラミングができないと作れないんじゃないか…」
といった、ネガティブなイメージをもって、なかなかマクロを作ることに壁を感じる場合もあるのではないでしょうか?
マクロ作成にはVBAを使ってコードを作成する必要がありますが、それ以外にも、
「マクロの記録」
という機能を使って、簡単にマクロ作成することができます。
「マクロの記録」を使って、まずは「マクロを作ってみる」というところから始めて、作業の自動化をしてみましょう!
「マクロの記録」とは?
そもそも、「マクロ」とは何でしょうか?
マクロ=Excelでの一連の作業を自動化する機能
のことです。
このマクロ機能を使いこなすことができると、手作業で行うと一日かかるような定型作業を数秒で終わらせることも可能になります。
では、「マクロの記録」とはどんな機能なのでしょうか?
「マクロの記録」とは、Excel上で実際に行った操作をマクロとして記録する機能です。
マクロと聞くと、VBAでコードを書くことが必要であったり、マクロを作るまでに複雑な工程を踏まなければならない…といった障壁を感じる場合もあるかもしれません。
ですが、「マクロの記録」を使えば、コードを記述することなく、普段行っている作業をマクロとして作成、自動化することができます。
「マクロの記録」のメリットとデメリット
「マクロの記録」機能における、メリットとデメリットはどんなことがあるのでしょうか?
それぞれについて、解説していきます。
【メリット】
VBAの知識がなくても、マクロを作成することができる。
これは前述でも記載したように、VBAでコードを記述することなく、マクロを作成することができるため、簡単にマクロを作成し、作業の自動化を行うことができます。
実際には、後述にて詳細は記載しますが、
マクロの記録をクリック
↓
自動化したいExcel操作を実行
↓
マクロの記録を停止
↓
作成したマクロの編集・実行
というような流れで、実際にマクロを作成することが可能となります。
簡単な作業であれば、マクロの記録で自動化できる
以前掲載した記事でも紹介しましたが、比較的作業が少ない「ショートマクロ」を作成する場合は「マクロの記録」を使って、マクロ作成することができます。
例えば、
・値の書式変更
・セルの行・列の幅調整
・フィルターでの昇順・降順の設定
・印刷対応
などは「マクロの記録」にてマクロ作成を行うことができます。
【デメリット】
複雑な処理は自動化できない。
マクロの記録では、簡単な作業はマクロ化できる一方で、複雑な作業や処理を自動化することはできません。
例えば、
・繰り返し処理を行う必要のある作業。(VBAでは「For~,Next文」など)
・条件分岐が必要な作業(VBAでは「If文」)
・最終行の自動調整
などが挙げられます。
Excel以外での操作は自動化できない。
マクロの記録では、Excelを跨いだほかのソフトでの作業は自動化できないです。
例えば、
・Outlookでの自動メース送信
・Edgeでの検索作業
などが挙げられます。
マクロ自体に無駄な作業が入ってしまう。
簡単にマクロ作成ができる反面、マクロの記録中に無駄なセルの指定やシートの切り替えなどを行ってしまうと、それ自体もマクロに記録されることになります。
特に要注意なのが、クリック操作も記録されてしまうため、作成したマクロに無駄なクリック操作も含まれてしまうこともあります。
そのため、マクロの記録を行う場合は
「記録する手順を書き出して作業を記録する。」
「不用意にセルやシートの切り替えを行わない」
など、注意が必要です。
VBAのコードが読みにくい
マクロの記録で作成したマクロをVBEで見てみると、VBAが読みづらいということがあります。
これは前述の無駄な作業が記録されてしまっていることや、Excel上で判断したコードで記載していることが要因です。
もしVBAが使えるのであれば、「マクロの記録」と併用してマクロ作成するのか、VBAで一からマクロを作るのかは、作成前に検討するとよいでしょう。
「マクロの記録」でどのようにマクロを作成するのか?
マクロの記録を使って、どのようにマクロを作成するのでしょうか?
まずは、マクロ作成にあたっての手順を確認してみましょう。
手順①:「開発」タブの設定・表示
手順②:「マクロの記録」を開始
手順③:自動化したいExcel作業を実行
手順④:停止ボタンにて、「マクロの記録」を停止
手順⑤:作成したマクロの保存場所を確認
手順⑥:マクロの起動ボタンを作成・実行
上記①~⑥までの手順を通して、マクロ作成を行っていきますが、具体的な手順はどのようなことを行うのでしょうか?
具体的に1つずつ解説していきます。
手順①:「開発」タブの設定・表示
マクロを作成するにあたって、前提として「開発」タブがリボン上に表示されている必要があります。
もし、Excelのリボン上に「開発」タブがない場合は、下記の手順にて設定を行ってください。
*「開発」タブがすでに表示されている場合は、この手順は省略可能です。
【作業手順】
①:Excelのファイルをクリックする。
②:「オプション」をクリックする。
③:「リボンのユーザー設定」をクリックする。
④:リボンのユーザー設定が「メインタブ」であることを確認し、「開発」にチェックを入れる。
手順②:「マクロの記録」を開始
マクロを作成するため、「マクロの記録」を開始します。
具体的な作業手順は、下記の通りです。
【作業手順】
①:「開発」タブをクリックする。
②:「コード」内の「マクロの記録」をクリックし、マクロの自動記録を開始する。
★マクロの記録をクリックしたら…
「マクロの記録」をクリックすると、作成するマクロ名やショートカットキーの設定を行うダイアログが表示されます。
こちらも表示されたら、入力を行い、マクロの記録を開始しましょう。
*ここでは、「書式変更」を行うマクロを作成します。
手順③ 自動化したいExcel作業を実行
手順②にて、マクロの記録を開始したら、実際に記録したいExcel作業を行います。
ここでは、例として、下記①~⑤の書式変更を行う操作を記録します。
①:セルの値を太文字にする。
②:セルの値を斜体にする。
③:セルの値に下線をつける。
④:セルをオレンジ色に塗りつぶしする。
⑤:セルのフォントサイズを11→14へ変更する。
【この記録を行う時の注意点】
・クリック操作を含めた、作業手順をあらかじめ明確にしてから記録を行う。
・記録したい作業以外の動作は行わない。
2点を心掛けて作業を行いましょう。
手順④ 停止ボタンにて、「マクロの記録」を停止
マクロ化したい作業を終えたら、停止ボタンをクリックして、記録を停止しましょう。
ここまでの操作を行うことで、自動化したい作業のマクロ化ができます。
手順⑤:作成したマクロの保存場所を確認
手順④までの工程を終えたら、下記の流れで実際に作成したマクロの保存場所を確認しましょう。
【作業手順】
①:「開発」タブの「マクロ」をクリックする。
②:マクロの一覧画面がダイアログ表示されるため、作成したマクロがあるかを確認しましょう。
手順⑥:マクロの起動ボタン作成・実行
作成したマクロを起動するためのボタンをワークシート上に作成します。
開発タブ内のマクロをクリックし、「実行」をクリックしてもマクロを使うことができますが、ワークシート上に起動ボタンを設置しておいた方が簡単にマクロ実行をすることが可能です。
【作業手順】
①:「開発」タブ内の「挿入」をクリックし、赤枠の「ボタン(フォームコントロール)」を選択します。
②:ワークシート内の任意の箇所を左クリックでドラッグし、ボタンの大きさを設定します。ボタンの配置を決めると、マクロの登録ダイアログ画面が表示されます。作成した or 登録したいマクロを選択して、OKをクリックしましょう。
③:デフォルトでは、ボタンの名称が「ボタン○(数値)」となっているため、ボタンにカーソルを合わせて、右クリックし、「テキストの編集」にて任意のボタン名に変更しましょう。
(下図では、マクロ名に合わせて「書式変更」と名前を付けています。)
④:ボタンを左クリックすることで、マクロが起動します。
下図では、C4セル「コーヒー」という値の箇所を選択して、「書式変更」ボタンをクリックすると、手順④で記録した書式に変更されます。
VBAとの違いはなにか?
ここまでは、「マクロの記録」機能でマクロを作成するメリット・デメリットや手順について触れてきましたが、VBAでのマクロ作成とはどんな点で違いがあるのでしょうか?
大きくは、
・複雑な作業(処理)を自動化することができる。
・Excel以外での操作を自動化することができる。
この2点が「マクロの記録」機能と比較した違いとなります。
また、それ以外にも。
・VBAコードを記載して、マクロを作成する。
というスキルが必要となってきます。
「マクロの記録」でも簡単な作業を自動化することは可能ですが、やはり複雑な作業を自動化するとなった場合は、VBAでマクロを作成するスキルが必要となってきます。
まとめ
「マクロの記録」は、比較的簡単にマクロを作成して、作業(処理)を自動化することが可能です。
一方で、マクロ化できる範囲は比較的簡単な作業(処理)に限られ、複雑な作業やExcel以外のソフトも使った作業を自動化する場合は、VBAの知識とVBAでマクロを作るスキルが求められます。
とはいえ、VBAもプログラミングの一つではあるので、独学で学ぼうとしてもなかなかうまくいかず、挫折してしまったりすることもあるかと思います。
では、どんな学習方法をとったらよいのでしょうか?
私の場合は、
というサイトを活用してExcel VBAの学習を行いました。
Udemyでは、e-ラーニング形式で動画を視聴しながら学習することができます。
コンテンツでは学習しながら実習形式で簡単なアウトプットを繰り返しながら学ぶこともできます。
かつ、「Q&A」という機能を使うことで講師にわからない点を質問することも可能です。
Udemyでは、サブスクリプション型ではなく、1コンテンツ買い切り型ですので月額費用が掛かるわけではありません。
では、そのコンテンツのお値段は…大体1万円~2万円前後が多いです。
「高い…」
と思われる方もいらっしゃるかもしれません。
ですが、Udemyでは頻繁にセールを実施しており、
90%引きでコンテンツが販売されていることが多いです。
私も1万円前後のコンテンツを1,600円~2,000円くらいで購入しています。
といっても、UdemyでもExcel VBAに関するコンテンツは多くあります。
私のおすすめとして、「エクセル兄さん たてばやし淳」さんのコンテンツを利用して学習してみるといいです。
私自身も5コンテンツ程購入し、25時間ほど学習をして、実際にExcel VBAでのマクロを作成することができるレベルまでスキルアップすることができました。
初心者でこれからVBAについて学び始める場合は、私としては、
Excel VBA第1弾エクセルが自動で仕事する!マクロの魔法 文系・非IT職もできるプログラミング
Excel VBA第2弾請求書を1クリックで出力するマクロを作成!文系・非IT職もできるプログラミング
の2つがおすすめです。(2つで約12.5時間ほどの内容です。)
Excel VBAのスキルを身に着けたい!、途中で挫折してしまったが、また学び直したい!という方はぜひ、活用してみてください。
コメント