Excelのマクロとは? ~VBAとの違い、できることや作り方・使い方を紹介~

多くの企業で、マイクロソフトのオフィスが業務に使用されています。なかでもExcel(エクセル)は、簡単に集計やグラフ化ができ、簡易的な分析が行える便利なアプリケーションです。毎月のレポート作成など、定型的な作業を毎回、手動で行っている場合は、マクロの機能を活用して自動化することで、業務の効率化が可能です。
本コラムでは、Excelのマクロでできること、作成方法、使い方、また、使う際に注意したいポイントなどをまとめてご紹介いたします。
Excelのマクロとは
マイクロソフトのオフィス(Office)には、複数の操作をまとめて自動化できる機能として「マクロ」が用意されています。Excel以外に、WordやPowerPointでもマクロの機能が使えます。
マクロは、VBA(Visual Basic(R) for Applications)というプログラミング言語で動作します。このため、マクロではなくVBAとよばれることもあります。VBAを使用せずに画面上の操作を記録して作成することも可能です。
Excelのマクロを活用することで、入力業務やドキュメント作成などを自動化することができます。
マクロとVBAとの違いは
ExcelのマクロはVBAと呼ばれることもあると書きましたが、正確にはマクロは機能であってVBAはExcelマクロを作成するのに使うプログラミング言語です。VBAの知識がなくてもマクロを使用することは可能ですが、VBAの知識があるとより複雑かつさまざまな業務の自動化を行えます。ただ、業務の効率化といった視点で考えると、マクロ機能だけで十分に効率化を行えるため、必ずしもVBAの知識を持っておく必要はありません。
▼Excel業務の自動化についてはこちらのコラムもおすすめ!
「Excel業務」を自動化する時のポイントは?
Excelのマクロにできること
Excelのマクロを活用すれば、Excelの機能にある内容なら組み合わせて自動的に実行することができます。
たとえば、書類作成やデータのチェック・修正、ファイルの統合・分割などが行えます。
- 書類の作成…書類の作成、書類の印刷、Wordへの差し込み印刷
- セルの編集…セルのコピー、ペースト、文字の大きさの変更など
- データのチェック…データのチェック、データの修正、データの検索、データの置換
- データの集計…データの集計、グラフの作成、作成したグラフや表をPowerPointへ挿入する
- ファイルの統合・分割…ファイルの統合、ファイルの分割、フォルダの作成、フォルダ名の一覧の作成
▼Excelでのデータ活用について興味のある方はこちらのコラムもおすすめ!
データ活用をちょこっとラクにする方法
Excelのマクロの作り方
では、上記のような作業を自動化して業務を効率化するために、具体的にはどうすればマクロを作成できるのでしょうか?
マクロの作成方法には、大きく、VBAを利用する方法と、マクロの記録を利用する方法の二つがあります。マクロの記録を利用すれば、VBAの知識がなくても簡単にマクロを作成することができますが、その分、作成可能なマクロの範囲は狭く、オブジェクトに対する操作の記録のみが可能で、関数の作成や条件分岐、ループ処理などができません。
ここでは、Excelのマクロの作り方を簡単にご紹介いたします。
VBAを使う方法
VBAを使ってマクロを作る際は、まず、開発タブを表示させます。
開発タブを表示する
Excelの初期設定では、開発タブは非表示なので、表示させましょう。
メニューバーの「ファイル」から「オプション」を選びます。
すると、「Excelのオプション」のダイアログボックスが表示されます。
「リボンのユーザー設定」の「メインタブ」から「開発」にチェックし、OKボタンを押してください。
これで、タブに「開発」が表示されるようになります。
※マクロの表示・記録のみでVBAを使用しない場合は、開発タブを表示しなくても表示タブの最右に表示される「マクロ」ボタンから利用できます。
「VBA」で「標準モジュール」を開く
次に、開発タブの最左に表示される「Visual Basic」ボタンを押して「VBA」を開きます。
※Alt+F11のショートカットキーでも開くことができます。
VBAのウインドウの左側は「プロジェクトウィンドウ」といいます。
プロジェクトウィンドウの「VBAProject(Book1)」を右クリックして、「挿入」「標準モジュール」の順に選択すると、ウインドウの右側に「標準モジュール」が挿入されます。
マクロ名をつける
「標準モジュール」を挿入すると、左側のプロジェクトウィンドウのツリー構造に「標準モジュール」と、その下に「Module1」という表示が追加されます。
その下のウインドウの「(オブジェクト名)」という表示の右側のセルで名称を変更できます。
マクロ名には数字と「_(アンダースコア)」も使用できますが、最初の1文字だけは文字を入力する必要があります。
マクロを書く
挿入した「標準モジュール」にマクロを書きます。
SubからEnd Subの間に、VBAのルールに沿って指示内容を記載します。
マクロの記録を使う方法
実際の操作を記録してマクロを作成する方法もあります。
VBAの知識が不要で簡単に作成できますが、その分、操作の範囲や機能は狭まります。
マクロに名前をつける
開発タブの最右に表示される「マクロ」ボタンか、表示タブの最右に表示される「マクロ」ボタンから「マクロの記録」を押します。
すると、「マクロの記録」ダイアログが表示されるので、マクロ名を入力します。
なお、マクロ名に使える文字は、VBAでのマクロ名と同様に、数字と「_(アンダースコア)」が使用でき、最初の1文字だけは文字のみが可能です。
マクロで自動化したい操作を行う
マクロ名を登録した後から、マクロの記録が始まります。
マクロの記録中は、Excelのウインドウの左下に「□」が表示されています。
これを確認した上で、マクロに記録したい操作を実行しましょう。
マクロの記録を終了する
記録したい操作が終わって、マクロの記録を終了したい場合は、Excelのウインドウの左下に表示された「□」を押します。
▼ちょっとしたことはマクロでなく簡単にデータ変換したいなという方は無料で使えるこちらもおすすめ!
ウェブde自動変換
Excel のマクロの使い方
作成したマクロを実行する方法は、4つあります。
Excel上でマクロを実行する
Excelのワークシートを開いた状態からマクロを実行する方法です。
カーソルが左上の「A1」にある状態で、表示タブから「マクロ」を押し、さらに「マクロの表示」を押します。
すると、マクロのダイアログボックスが表示されるので、この中から、実行したいマクロを選択し、ダイアログボックス右上の「実行」ボタンを押します。
VBA上でマクロを実行する
Visual Basicを開いた状態から実行する方法です。
作成したマクロを試したい場合などは、VBA上でマクロを実行すると良いでしょう。
開発タブから「マクロ」を押し、さらに「Visual Basic」を押します。
表示されたプロジェクトウィンドウの「標準モジュール」から、実行したいマクロを選択し、「マクロの実行」ボタンを押します。
マクロの実行ボタンは、Visual Basicのメニューバーにある緑色の右向き三角のボタンです。
このボタンの代わりにF5キーを押しても実行できます。
ショートカットキーでマクロを実行する
あらかじめ、任意ショートカットキーを設定しておき、マクロを実行する方法です。
まずは、ショートカットキーを設定します。
カーソルが左上の「A1」にある状態で、表示タブから「マクロ」を押し、さらに「マクロの表示」を押します。
マクロのダイアログボックスが表示されるので、この中から、ショートカットキーを設定したいマクロを選択し、ダイアログボックス右下の「オプション」を押します。
すると、「マクロ オプション」のダイアログボックスが表示されるので、「ショートカットキー(K)」の空欄に任意のキーのアルファベットを入力します。ほかのショートカットキーと重複しないものを選びましょう。
ショートカットキーの設定は、マクロの記録の際にも行えます。マクロの記録のダイアログボックスに表示された「ショートカットキー(K)」の空欄に任意のキーのアルファベットを入力してください。
ボタンを作成してマクロを実行する
マクロ実行用のボタンを作成することも可能です。
Excelのメニューバーの「挿入」から「図形」を選び、任意の形や大きさ、色の図形を作り、任意のテキストを入力します。
この図形の上で右クリックし、「マクロの登録」を選択します。すると、「マクロの登録」のダイアログボックスが表示されるので、ボタンに登録したいマクロを選び、「OK」ボタンを押します。
これでボタンが完成しました。
マクロを実行したい場合は、このボタンを押すと実行されます。
▼マクロを作らずちょっとだけデータ変換したいなという方は無料で使えるこちらもおすすめ!
ウェブde自動変換
Excel のマクロを使う際の注意点
マクロを使う際は、以下の点にご注意ください。
マクロを記録する際は、手順やシートなどを確認しておく
VBAの知識がなくても簡単にマクロを作成できる、便利な「マクロの記録」機能ですが、作業手順を間違えてしまうと、やり直さなくてはなりません。スムーズに登録できるよう、あらかじめ作業手順を確認し、可能であれば、予行演習をしてから記録作業に入りましょう。
もし、作業を誤ってしまった場合は、セルの入力などであれば「元に戻す」ボタンで相殺されますが、たとえば、セルの選択など「元に戻す」ボタンでは戻せない作業もあります。
後で、マクロを編集することも可能ですが、VBAの知識がないと煩雑なため、間違えた場合は、一度マクロの記録を終了させ、最初からやり直した方が良いでしょう。
また、マクロを記録する際は、ファイル名やシート名、セルが記録時と実行時で同じものである必要があります。この点にも注意を払って記録を行いましょう。
保存の際のファイル形式は「.xlsm」
Excelファイルを保存する際、通常は「.xlsx」や「.xls」ですが、マクロを作成したExcelファイルは「.xlsm」となります。前者がExcelブックであるのに対し、後者はExcelマクロ有効ブックとなるためです。
また、Excelマクロ有効ブックを開く際は、メニューリボンの下に「マクロが無効にされました」というセキュリティの警告が表示されます。自身が作成したマクロ有効ブックなど、安全が確認できていれば「コンテンツの有効化】ボタンを押して使用します。
マクロの管理者を立てて管理を徹底する
マクロは、VBAによって作成できるほか、マクロの記録を使えば誰でも簡単に登録できるため、管理者を立てて一元管理しないと乱立してしまう恐れがあります。個人で使用するファイルで利用する分には問題がありませんが、たとえば、部署などで共有しているファイルにマクロを作成する場合、過去に似たようなマクロを作成していないかを確認してから作成する、使われなくなったマクロは精査して削除するといった管理が必要です。
マクロの作成・使用に関するルールを定め、守りながら利用することが大切です。
まとめ
マクロを活用すれば、ルーティン化している作業を効率化することができます。たとえ、定型的な作業であっても、量が多ければ、月間・年間ではかなりの時間を割いているものです。自動化できるところはマクロに任せて、残業を削減したり、空いた時間を人にしかできない企画業務などに当てることで生産性向上が期待できます。
ただし、Excelのマクロには、修正が発生した場合にVBAの知識がある人が修正するか、一から作り直さなければなりません。これらの作業を行えるのが、特定の従業員のみに偏り属人化してしまうことなどが、デメリットと言えます。マクロで行っていた"作業工程"をわかりやすく俯瞰でき、プログラム言語がわからない人にも簡単にその作業工程が構築できたり修正できたりすることが望ましい状態でしょう。
誰でも簡単にマクロで行っていた作業工程の構築や修正を行うには、データの加工や変換をノンプログラミングで行える「データ加工ツール(データ変換サービス)」を活用することで実現できるので、おすすめです。
また、おしごと改革らぼでは、マクロを使うまでもないけど手動で一つ一つ行うには少し大変・・・というような、データをちょっとだけ変換や加工するのにお使いいただける無料のツール『ウェブde自動変換』をご用意しています。マクロやVBAなどの知識も必要なく、ブラウザ上で簡単に操作できます。『ウェブde自動変換』は、データの変換や加工だけでなく、データの整形やExcelファイルの関数の確認なども行えます。日々の業務を少しラクにできるツールですので、ぜひ活用してみてください。
簡単なデータ変換は無料で使える
『ウェブde自動変換』におまかせ!

Excel業務で何かと時間がかかっていませんか?Excelにはマクロなど自動化できる機能はついていますが、使うには少しプログラミングの知識が必要になってしまいます。
『ウェブde自動変換』はちょっとしたデータの変換や加工などプログラミングの知識は必要なく、変換したいファイルをアップして実行するだけで簡単にデータの変換や加工などが行えるツールです。無料でお使いいただけるので、お悩みの方はぜひ活用してみてください!