【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とは?マクロとは?初心者向けにわかりやすくExcelVBAなどを解説
    更新日 : 2019年5月3日

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

    【初心者必見】エクセルVBA・マクロでできることって?活用例で解説
    更新日 : 2019年6月5日

    マクロ作成の準備

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

    マクロを有効にする

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

    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

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

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

    macro16

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

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

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

    実行結果:
    macro18

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

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

    マクロを削除する方法

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

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

    macro19

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    まとめ

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

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

    Excel VBAを最短で習得したい方へ

    元々ITリテラシーの高い方やプログラムの学び方がわかっている方であれば、この記事通りに進めていけば、Excel VBAを独学で習得することができるでしょう。

    ただし、実際の学習期間中はつまづいている時間がほとんどです。

    「なかなかやり遂げられ無い、挫折してしまった」
    「時間が足りない」
    「情報が少なくどう調べればいいかわからない」
    「エラーを解決することができない」

    このような悩みを抱えている方も少なく無いと思います。

    • もう挫折したくない
    • 本業と両立しながら、好きな時間で自分のペースで勉強を続けていきたい
    • 自分だけのカリキュラムで効率的に勉強したい
    そんな方はお気軽に侍エンジニア塾までご相談ください。

    お一人お一人に専属のインストラクターがつくので、より深くExcel VBAについて学習することできます。

    まずは『無料体験レッスン』で、弊社のコンサルタントと一緒にあなた専用の学習方やカリキュラムを考えてみませんか?

    Excel VBAならではの学習方法や、現役エンジニアから貴重なアドバイスを受けることができます。

    詳しくは下の画像をクリックして弊社サービス内容をご確認ください。

    cta2_vba2

    LINEで送る
    Pocket

    書いた人

    長野 透

    長野 透

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

    おすすめコンテンツ

    あなたにぴったりなプログラミング学習プランを無料で診断!

    プログラミング学習の効率を劇的に上げる学習メソッドを解説