【VBA入門】マクロの使い方(VBAとマクロの違いも解説)


マクロって使っていますか?Excelシート上で同じ操作を繰り返す必要がある場合などで、手動での作業を自動化できる便利な機能です。

この記事では、

  • VBAとマクロの違い
  • マクロ作成の準備
  • マクロを実行、停止終了する方法
  • マクロを強制終了する方法

という基本的な内容から、

  • マクロボタンを作成する方法
  • マクロから他のマクロを呼び出す方法
  • マクロを削除する方法
  • マクロを動かしてみよう!

など応用的な内容についても解説していきます。

今回はマクロについて、使い方をわかりやすく解説します!

目次

マクロとは

マクロとは一般的には「大きい」、「巨大な」という意味ですが、コンピュータ関係ではコンピュータの操作を自動化するための機能のことを指します。Excelのマクロもシート上で行う手動の操作を自動化するために使われます。

自動化するための機能ですので、繰り返し同じ作業をしなければならない場合などに、マクロを実行することで手動の操作が不要になり手間を省くことができます。

Excel以外のMicrosoft Office、例えばWordやPowerPoint、Accessなどにもマクロ機能が備わっています。

ちなみにプログラミング言語では、C言語やC++でもマクロ機能を使用することができます。

VBAとマクロの違い

VBAとマクロは正確にいうと別モノです。

VBAは(Visual Basic Application)の略で、マイクロソフト社が提供しているプログラミング言語の名称です。

VBAはExcel以外にも、Access、Word、PowerPointなどでも使うことができて、これらの操作を自動化するマクロ機能のための道具がVBAということになります。

つまり、マクロとは自動化するための機能のいうことです。

VBAとはそのマクロ機能を実行するためのプログラミング言語ということになります。VBAやマクロについてはこちらでも詳しく解説しています。ぜひ参考にしてください。

VBAとは?マクロとは?初心者向けに言語の基礎をわかりやすく解説
更新日:2024年2月16日

マクロを使って何ができるか?については、こちらで詳しく解説していますので、ぜひ参考にしてください。

マクロ作成の準備

マクロを使うために必要な準備について確認しましょう。

マクロを有効にする

セキュリティの設定によってはマクロが使えない場合があります。ですので、まずはセキュリティを設定しましょう。

Excelシートのツールバーから[ファイル]をクリックします。

macro01

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

macro02

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

macro03

[マクロの設定]で[すべてのマクロを有効にする]を選択し、[OK]ボタンをクリックします。

これでセキュリティの設定は完了です。

macro04

Excelシートからマクロを呼び出す

Excelシートからマクロを呼び出せるように設定します。

まず、ツールバーから[ホーム]を選択し、[リボンのユーザー設定]をクリックします。

macro05

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

macro06

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

macro07

開発環境が現れます。

macro08

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

macro09

マクロを実行、停止終了する方法

マクロを実行、停止する方法についてみていきましょう。

マクロの実行

まず、実行したいマクロをクリックします。そして、F5キーを入力すると実行されます。

また、ツールバーから [実行] ボタンをクリックすることで実行することもできます。

macro10

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

macro11

マクロの停止

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

macro13

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

macro12

マクロを強制終了する方法

無限ループなどを実行してしまい、強制終了したい場合があります。

そんな場合は、[Esc]キーまたは[Ctrl] キーを押したまま [Break] キーを押します。

マクロボタンを作成する方法

VBAでマクロのコードを記述して、実行はExcelのシート上で操作したい場合があります。

そんな場合は、シート上にマクロボタンを作成し、作成したボタンをクリックすることで処理を実行できます。

マクロボタンは以下のようにして作成します。Excelシートのツールバーの[開発]をクリックして、[挿入]ボタンからフォームコントロールの[ボタン]をクリックして選択します。

macro14

マウスでボタンの大きさと配置位置を設定すると、マクロダイアログが表示されます。

マクロダイアログから処理を行うマクロ名を選択して[OK]ボタンを押します。

macro15

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

macro17

なお今回、処理を行うマクロとして選択したサンプルコードは以下のとおりです。

Sub macro1()
    MsgBox "Hello VBA!"
End Sub

ボタンを押して実行しると以下のようになります。

macro16

マクロから他のマクロを呼び出す方法

マクロから他のマクロを呼び出して実行したい場合があります。

Callステートメントを使って以下のように記述します。

Sub macro1()
    MsgBox "Hello VBA!"
End Sub

Sub macro2()
    Call macro1
End Sub

実行結果:
macro18

このサンプルコードではmacro2を実行しています。

Callステートメントによりmacro1が呼び出され、MsgBoxが表示されています。

マクロを削除する方法

マクロを削除する方法をご紹介します。

削除したいモジュールを選択して右クリックします。選択したモジュール名の解放をクリックすると削除することができます。

macro19

マクロを動かしてみよう!

Excelのマクロの使い方がわかったら、次は実際にマクロを動かしてみましょう!マクロを動かすにはプログラミング言語VBAでコードを記述する必要があります。

VBAでコードを記述するには、VBAで使われる関数やIfステートメント、Forステートメントなどの基本構文を使えるようにならなければなりません。

関数や基本構文について簡単に説明しておきます。

VBA関数を使って簡単にマクロを作ろう!

VBAには関数と呼ばれる便利なツールが用意されています。

Excelシートのセルに入力する関数と似たようなもので、あらかじめ用意されているので、使いこなせるようになると簡単に処理を行うことができるようになります。

VBAの関数については、こちらで詳しくまとめていますので、ぜひ参考にしてください。

【VBA入門】関数の使い方(VBA関数一覧、ワークシート関数の入力)
更新日:2023年10月10日

Forで処理を繰り返してみよう!

基本構文の代表的なものとしてFor Nextステートメントがあります。For Nextステートメントでは、同じ処理を決められた回数繰り返します

マクロはExcelシート上で行う繰り返しの作業を自動化する機能でした。ですので、For Nextステートメントを使えるようになれば、マクロで同じ作業を繰り返ことができるようになりますので、自動化へ向けて一歩前進することになります。

For Nextステートメントの使い方については、こちらのサイトで詳しく解説していますので、ぜひ参考にしてください。

【VBA For Next】ループ処理の基本を5つのステップで完全理解
更新日:2023年10月10日

Ifで条件により処理を変えてみよう!

基本構文にはFor Nextステートメントの他にも Ifステートメントというものがあります。

条件によって処理を変えたい場合に使います。条件によって処理を変えることができれば、マクロで自動化できる処理内容も増えてきます。

Ifステートメントの使い方については、こちらのサイトで詳しく解説していますので、ぜひ参考にしてください。

VBAのIf文を使いこなそう! 条件分岐の基本をスッキリ解説
更新日:2023年10月10日

挫折なくVBAの習得を目指すなら

ここまでの解説を踏まえ、独学でVBAを習得しようと考えている人のなかには、

独学で習得できるかな…
途中で挫折したらどうしよう…

と不安な人もいますよね。

実のところ、VBAといったプログラミング言語の学習途中で挫折する独学者は多くいます。事実、弊社の調査では

  • 不明点を聞ける環境になかった
  • エラーが解決できなかった
  • モチベーションが続かなかった

などの理由から、87.5%が「プログラミング学習で挫折や行き詰まりを感じた」と回答しています。

87.5%の人がプログラミング学習時に挫折を経験
不明点やエラーが解決できずプログラミングを挫折した人が多数

調査概要:プログラミング学習の挫折に関するアンケート
調査対象:10代〜80代の男女298名
調査期間:2019年8月13日~8月20日
調査方法:インターネット調査
掲載元:PR TIMES

また、こうした背景もあってか、弊社がプログラミングに興味がある人100名へ実施した別の調査では

  • 確実にスキルを身につけられると思ったから
  • 独学では不安がある
  • 効率よく学べそう

などの理由から、61%が「プログラミングの勉強を始めるならスクールを選ぶ」と回答しています。

61%の人がプログラミングの勉強を始めるならスクールが良いと回答
確実にスキルを身につけられそうという理由でプログラミングスクールを選ぶ人が多い

調査概要:プログラミングに興味がある方の意識調査
調査期間:2021/11/19~2021/12/3
対象者:プログラミング学習を検討している10代~50代の男女100名
調査媒体:クラウドワークス
掲載元:PR TIMES

加えて、プログラミングスクールの卒業生に「独学ではなくスクールを活用した理由」を聞いたところ「できるだけ短い期間でITエンジニアへの転職や副業に必要なスキルを身につけたかった」という回答も多く寄せられました。

上記から、1人でプログラミングスキルを習得できるか不安な人や短期間でスキルを習得したい人ほど確実性を求め、現役エンジニアといったプロの講師に質問できるプログラミングスクールを利用する傾向にあるのがわかります。

いざ独学でプログラミングを学び始めても、勉強の最中に挫折しまっては学習にかけた時間を悔やむだけでなく「プログラミングスキルを身につけるのって思っていたよりも難しいんだな…」とVBAの習得自体を諦めかねません。

仮にわからないことを飛ばしながら勉強を進めたとしても、ITエンジニアへの転職や副業での収入獲得を実現できる実践的なスキルが身につかなければ、結局後悔することになります。

そこで、おすすめしたいのが「SAMURAI ENGINEER(侍エンジニア)」です。

300x300-samuraiengineer (1)
6
700x700_01 (1)
700x700_02
700x700_03
700x700_04
700x700_05
700x700_06
700x700_07
700x700_08
300x300-samuraiengineer (1)
6
700x700_01 (1)
700x700_02
700x700_03
700x700_04
700x700_05
700x700_06
700x700_07
700x700_08
previous arrow
next arrow
料金月分割4.098円~
実績・累計指導実績3万5,000名以上
・受講生の学習完了率98%
・受講生の転職成功率99%

侍エンジニアをおすすめする最大の理由は「挫折しづらい学習環境」にあります。

先ほど述べたとおり、独学者の多くは自力で不明点やエラーを解決できないためにプログラミング学習を挫折しています。そのため、未経験者が現役エンジニアのようなプロに質問や相談できない状況で、プログラミングスキルを習得するのは非常に難易度が高いといえます。

しかし、侍エンジニアでは

  • 現役エンジニア講師によるマンツーマンレッスン
  • 現役エンジニアに質問できるオンラインでのQ&Aサービス
  • 不安や悩み・勉強の進み具合を相談できる学習コーチ

といったサポート体制を整えているため、学習中に出てきたわからないことや不明点をいつでも相談可能です。「受講生の学習完了率98%「転職成功率99%」という実績からも、侍エンジニアなら挫折しづらい環境でプログラミング学習を進められるといえます。

侍エンジニアのサポート体制_01 (1)
侍エンジニアのサポート体制_02 (1)
侍エンジニアのサポート体制_03 (1)
侍エンジニアのサポート体制_04 (1)
侍エンジニアのサポート体制_01 (1)
侍エンジニアのサポート体制_02 (1)
侍エンジニアのサポート体制_03 (1)
侍エンジニアのサポート体制_04 (1)
previous arrow
next arrow

侍エンジニアのサポート体制

また、侍エンジニアではカウンセリングにて受講生一人ひとりの目的をヒアリングしたうえでカリキュラムを作成するため、限られた受講期間でも効率的に必要なスキルだけを習得可能です。

6
出典:httpscodecamp.jpcoursesmaster_design
3
出典:httpscodecamp.jpcoursesmaster_design (2) (1)
4
5
6
出典:httpscodecamp.jpcoursesmaster_design
3
出典:httpscodecamp.jpcoursesmaster_design (2) (1)
4
5
previous arrow
next arrow

侍エンジニアのカリキュラム例

最短距離で目的を実現できるようカリキュラムが組まれているため、勉強する順番や内容を誤り非効率に時間や手間を費やす心配もありません。

なぜ侍エンジニアが挫折せずVBAを習得できるのか気になる人はぜひ公式サイトをご覧ください。

公式サイトで詳細を見る

まとめ

ここでは、マクロについて説明しました。マクロをこれから使う場合に必要な情報ばかりです。

どれも使いこなすことができるように、この記事を何度も参考にして下さいね!

この記事を書いた人

熊本在住のフリープログラマ兼ライターです。C/C++/C#、Java、Python、HTML/CSS、PHPを使ってプログラミングをしています。専門は画像処理で最近は機械学習、ディープラーニングにはまっています。幅広くやってきた経験を活かしてポイントをわかりやすくお伝えしようと思います。
お問合せはこちらでも受け付けています。
info@sss-lab.com

目次