マクロって使っていますか?Excelシート上で同じ操作を繰り返す必要がある場合などで、手動での作業を自動化できる便利な機能です。
この記事では、
- VBAとマクロの違い
- マクロ作成の準備
- マクロを実行、停止終了する方法
- マクロを強制終了する方法
という基本的な内容から、
- マクロボタンを作成する方法
- マクロから他のマクロを呼び出す方法
- マクロを削除する方法
- マクロを動かしてみよう!
など応用的な内容についても解説していきます。
今回はマクロについて、使い方をわかりやすく解説します!
- Excelの操作を自動化させる機能をマクロという
- VBAはマクロ使用時に使用するプログラミング言語の総称
- VBA関数を活用すればさまざまな処理を簡単に実行可能
なお、AIを学び日々の仕事や作業を効率化したい人は「侍エンジニア」をお試しください。
侍エンジニアでは現役エンジニアと学習コーチの2名体制で学習をサポート。AIプログラミングやPython・VBAの習得を通じて、手間のかかる作業を効率化する方法を学べます。
未経験から挫折なくAIスキルを習得したい人は、ぜひ一度お試しください。
\ 給付金で受講料が最大80%OFF /
マクロとは
マクロとは一般的には「大きい」、「巨大な」という意味ですが、コンピュータ関係ではコンピュータの操作を自動化するための機能のことを指します。Excelのマクロもシート上で行う手動の操作を自動化するために使われます。
自動化するための機能ですので、繰り返し同じ作業をしなければならない場合などに、マクロを実行することで手動の操作が不要になり手間を省くことができます。
Excel以外のMicrosoft Office、例えばWordやPowerPoint、Accessなどにもマクロ機能が備わっています。
ちなみにプログラミング言語では、C言語やC++でもマクロ機能を使用することができます。
なお、副業での収入獲得を目指しているものの、どんな仕事が自分に合うかわからない人は「副業診断」をお試しください。
かかる時間はたった1分ほど。5つの質問に答えるだけで、自分にあう副業を診断してもらえます。
自身が取り組みやすい副業で収入を獲得したい人は、ぜひ一度お試しください。
\ 5つの質問に答えるだけ /
VBAとマクロの違い
VBAとマクロは正確にいうと別モノです。
VBAは(Visual Basic Application)の略で、マイクロソフト社が提供しているプログラミング言語の名称です。
VBAはExcel以外にも、Access、Word、PowerPointなどでも使うことができて、これらの操作を自動化するマクロ機能のための道具がVBAということになります。
つまり、マクロとは自動化するための機能のいうことです。
VBAとはそのマクロ機能を実行するためのプログラミング言語ということになります。VBAやマクロについてはこちらでも詳しく解説しています。ぜひ参考にしてください。

マクロを使って何ができるか?については、こちらで詳しく解説していますので、ぜひ参考にしてください。
なお、IT企業への転職や業務効率化を見据えたVBA習得に向け、どう学習を進めればいいのかなどがあいまいな人は「プログラミング学習プラン診断」をお試しください。
かかる時間は1分ほど。4つの質問に答えるだけで、あなたにあう言語や学習プランを診断してもらえます。
効率よくスキル習得したい人は、ぜひ一度お試しください。
\ 4つの質問に答えるだけ /
マクロ作成の準備
マクロを使うために必要な準備について確認しましょう。
マクロを有効にする
セキュリティの設定によってはマクロが使えない場合があります。ですので、まずはセキュリティを設定しましょう。
Excelシートのツールバーから[ファイル]をクリックします。

[オプション]を選択します。

[セキュリティセンター]を選択して、[セキュリティセンターの設定]ボタンをクリックします。

[マクロの設定]で[すべてのマクロを有効にする]を選択し、[OK]ボタンをクリックします。
これでセキュリティの設定は完了です。

Excelシートからマクロを呼び出す
Excelシートからマクロを呼び出せるように設定します。
まず、ツールバーから[ホーム]を選択し、[リボンのユーザー設定]をクリックします。

[開発]にチェックを入れて[OK]をクリックします。

ツールバーから[開発]が選択できるようになり、[Visual Basic]をクリックします。

開発環境が現れます。

ツールバーの[挿入]をクリックし、[標準モジュール]をクリックするとマクロのコードを記述できるようになります。

なお、ITの仕事に興味はあるものの、どの職種が自分にあうのかわからない人もいますよね。そんな人は「ITキャリア診断」をお試しください。
かかる時間はたったの1分。5つの質問に答えるだけで、自分にあうIT職種を診断してもらえます。
自身に適した職種が知りたい人は、手軽に試してみると良いですよ。
\ 5つの質問に答えるだけ /
マクロを実行、停止終了する方法
マクロを実行、停止する方法についてみていきましょう。
マクロの実行
まず、実行したいマクロをクリックします。そして、F5キーを入力すると実行されます。
また、ツールバーから [実行] ボタンをクリックすることで実行することもできます。

その他にも、ツールバーの[実行] をクリックして [Sub/ユーザーフォームの実行] をクリックすることでも実行できます。

マクロの停止
マクロを停止する場合は、ツールバーの[リセット]ボタンをクリックします。

また、ツールバーの[実行] をクリックして [リセット] をクリックすることでも停止できます。

なお、IT企業への転職や業務・作業の効率化などを見据え、独学でVBAが習得できるか不安な人は「侍エンジニア」をお試しください。
侍エンジニアでは、現役エンジニアと学習コーチの2名体制で学習をサポートしてもらえます。
「受講生の学習完了率98%」「累計受講者数4万5,000名以上」という実績からも、侍エンジニアなら未経験からでも挫折なく転職や効率化が実現できますよ。
\ 給付金で受講料が最大80%OFF /
マクロを強制終了する方法
無限ループなどを実行してしまい、強制終了したい場合があります。
そんな場合は、[Esc]キーまたは[Ctrl] キーを押したまま [Break] キーを押します。
マクロボタンを作成する方法
VBAでマクロのコードを記述して、実行はExcelのシート上で操作したい場合があります。
そんな場合は、シート上にマクロボタンを作成し、作成したボタンをクリックすることで処理を実行できます。
マクロボタンは以下のようにして作成します。Excelシートのツールバーの[開発]をクリックして、[挿入]ボタンからフォームコントロールの[ボタン]をクリックして選択します。

マウスでボタンの大きさと配置位置を設定すると、マクロダイアログが表示されます。
マクロダイアログから処理を行うマクロ名を選択して[OK]ボタンを押します。

マクロボタンが作成されます。

なお今回、処理を行うマクロとして選択したサンプルコードは以下のとおりです。
Sub macro1() MsgBox "Hello VBA!" End Sub
ボタンを押して実行しると以下のようになります。

マクロから他のマクロを呼び出す方法
マクロから他のマクロを呼び出して実行したい場合があります。
Callステートメントを使って以下のように記述します。
Sub macro1() MsgBox "Hello VBA!" End Sub Sub macro2() Call macro1 End Sub
実行結果:
このサンプルコードではmacro2を実行しています。
Callステートメントによりmacro1が呼び出され、MsgBoxが表示されています。
マクロを削除する方法
マクロを削除する方法をご紹介します。
削除したいモジュールを選択して右クリックします。選択したモジュール名の解放をクリックすると削除することができます。

マクロを動かしてみよう!
Excelのマクロの使い方がわかったら、次は実際にマクロを動かしてみましょう!マクロを動かすにはプログラミング言語VBAでコードを記述する必要があります。
VBAでコードを記述するには、VBAで使われる関数やIfステートメント、Forステートメントなどの基本構文を使えるようにならなければなりません。
関数や基本構文について簡単に説明しておきます。
VBA関数を使って簡単にマクロを作ろう!
VBAには関数と呼ばれる便利なツールが用意されています。
Excelシートのセルに入力する関数と似たようなもので、あらかじめ用意されているので、使いこなせるようになると簡単に処理を行うことができるようになります。
VBAの関数については、こちらで詳しくまとめていますので、ぜひ参考にしてください。

Forで処理を繰り返してみよう!
基本構文の代表的なものとしてFor Nextステートメントがあります。For Nextステートメントでは、同じ処理を決められた回数繰り返します。
マクロはExcelシート上で行う繰り返しの作業を自動化する機能でした。ですので、For Nextステートメントを使えるようになれば、マクロで同じ作業を繰り返ことができるようになりますので、自動化へ向けて一歩前進することになります。
For Nextステートメントの使い方については、こちらのサイトで詳しく解説していますので、ぜひ参考にしてください。

Ifで条件により処理を変えてみよう!
基本構文にはFor Nextステートメントの他にも Ifステートメントというものがあります。
条件によって処理を変えたい場合に使います。条件によって処理を変えることができれば、マクロで自動化できる処理内容も増えてきます。
Ifステートメントの使い方については、こちらのサイトで詳しく解説していますので、ぜひ参考にしてください。

挫折なくVBAの習得を目指すなら
ここまでの解説を踏まえ、独学でVBAを習得しようと考えている人のなかには、
独学で習得できるかな…
途中で挫折したらどうしよう…
と不安な人もいますよね。
実のところ、VBAといったプログラミング言語の学習途中で挫折する独学者は多くいます。事実、弊社の調査では
- 不明点を聞ける環境になかった
- エラーが解決できなかった
- モチベーションが続かなかった
などの理由から、87.5%が「プログラミング学習で挫折や行き詰まりを感じた」と回答しています。


調査概要:プログラミング学習の挫折に関するアンケート
調査対象:10代〜80代の男女298名
調査期間:2019年8月13日~8月20日
調査方法:インターネット調査
掲載元:PR TIMES
また、こうした背景もあってか、弊社がプログラミングに興味がある人100名へ実施した別の調査では
- 確実にスキルを身につけられると思ったから
- 独学では不安がある
- 効率よく学べそう
などの理由から、61%が「プログラミングの勉強を始めるならスクールを選ぶ」と回答しています。


調査概要:プログラミングに興味がある方の意識調査
調査期間:2021/11/19~2021/12/3
対象者:プログラミング学習を検討している10代~50代の男女100名
調査媒体:クラウドワークス
掲載元:PR TIMES
加えて、プログラミングスクールの卒業生に「独学ではなくスクールを活用した理由」を聞いたところ「できるだけ短い期間でITエンジニアへの転職や副業に必要なスキルを身につけたかった」という回答も多く寄せられました。
上記から、1人でプログラミングスキルを習得できるか不安な人や短期間でスキルを習得したい人ほど確実性を求め、現役エンジニアといったプロの講師に質問できるプログラミングスクールを利用する傾向にあるのがわかります。
いざ独学でプログラミングを学び始めても、勉強の最中に挫折しまっては学習にかけた時間を悔やむだけでなく「プログラミングスキルを身につけるのって思っていたよりも難しいんだな…」とVBAの習得自体を諦めかねません。
仮にわからないことを飛ばしながら勉強を進めたとしても、ITエンジニアへの転職や副業での収入獲得を実現できる実践的なスキルが身につかなければ、結局後悔することになります。
そこで、おすすめしたいのが「SAMURAI ENGINEER(侍エンジニア)」です。
料金 | 月分割4.098円~ |
実績 | ・累計指導実績3万5,000名以上 ・受講生の学習完了率98% ・受講生の転職成功率99% |
侍エンジニアをおすすめする最大の理由は「挫折しづらい学習環境」にあります。
先ほど述べたとおり、独学者の多くは自力で不明点やエラーを解決できないためにプログラミング学習を挫折しています。そのため、未経験者が現役エンジニアのようなプロに質問や相談できない状況で、プログラミングスキルを習得するのは非常に難易度が高いといえます。
しかし、侍エンジニアでは
- 現役エンジニア講師によるマンツーマンレッスン
- 現役エンジニアに質問できるオンラインでのQ&Aサービス
- 不安や悩み・勉強の進み具合を相談できる学習コーチ
といったサポート体制を整えているため、学習中に出てきたわからないことや不明点をいつでも相談可能です。「受講生の学習完了率98%」「転職成功率99%」という実績からも、侍エンジニアなら挫折しづらい環境でプログラミング学習を進められるといえます。
侍エンジニアのサポート体制
また、侍エンジニアではカウンセリングにて受講生一人ひとりの目的をヒアリングしたうえでカリキュラムを作成するため、限られた受講期間でも効率的に必要なスキルだけを習得可能です。
侍エンジニアのカリキュラム例
最短距離で目的を実現できるようカリキュラムが組まれているため、勉強する順番や内容を誤り非効率に時間や手間を費やす心配もありません。
なぜ侍エンジニアが挫折せずVBAを習得できるのか気になる人はぜひ公式サイトをご覧ください。
公式サイトで詳細を見るまとめ
ここでは、マクロについて説明しました。マクロをこれから使う場合に必要な情報ばかりです。
どれも使いこなすことができるように、この記事を何度も参考にして下さいね!