マクロって使っていますか?Excelシート上で同じ操作を繰り返す必要がある場合などで、手動での作業を自動化できる便利な機能です。
この記事では、
- VBAとマクロの違い
- マクロ作成の準備
- マクロを実行、停止終了する方法
- マクロを強制終了する方法
という基本的な内容から、
- マクロボタンを作成する方法
- マクロから他のマクロを呼び出す方法
- マクロを削除する方法
- マクロを動かしてみよう!
など応用的な内容についても解説していきます。
今回はマクロについて、使い方をわかりやすく解説します!
- Excelの操作を自動化させる機能をマクロという
- VBAはマクロ使用時に使用するプログラミング言語の総称
- VBA関数を活用すればさまざまな処理を簡単に実行可能
マクロとは
マクロとは一般的には「大きい」、「巨大な」という意味ですが、コンピュータ関係ではコンピュータの操作を自動化するための機能のことを指します。Excelのマクロもシート上で行う手動の操作を自動化するために使われます。
自動化するための機能ですので、繰り返し同じ作業をしなければならない場合などに、マクロを実行することで手動の操作が不要になり手間を省くことができます。
Excel以外のMicrosoft Office、例えばWordやPowerPoint、Accessなどにもマクロ機能が備わっています。
ちなみにプログラミング言語では、C言語やC++でもマクロ機能を使用することができます。
VBAとマクロの違い
VBAとマクロは正確にいうと別モノです。
VBAは(Visual Basic Application)の略で、マイクロソフト社が提供しているプログラミング言語の名称です。
VBAはExcel以外にも、Access、Word、PowerPointなどでも使うことができて、これらの操作を自動化するマクロ機能のための道具がVBAということになります。
つまり、マクロとは自動化するための機能のいうことです。
VBAとはそのマクロ機能を実行するためのプログラミング言語ということになります。VBAやマクロについてはこちらでも詳しく解説しています。ぜひ参考にしてください。
マクロを使って何ができるか?については、こちらで詳しく解説していますので、ぜひ参考にしてください。
マクロ作成の準備
マクロを使うために必要な準備について確認しましょう。
マクロを有効にする
セキュリティの設定によってはマクロが使えない場合があります。ですので、まずはセキュリティを設定しましょう。
Excelシートのツールバーから[ファイル]をクリックします。
[オプション]を選択します。
[セキュリティセンター]を選択して、[セキュリティセンターの設定]ボタンをクリックします。
[マクロの設定]で[すべてのマクロを有効にする]を選択し、[OK]ボタンをクリックします。
これでセキュリティの設定は完了です。
Excelシートからマクロを呼び出す
Excelシートからマクロを呼び出せるように設定します。
まず、ツールバーから[ホーム]を選択し、[リボンのユーザー設定]をクリックします。
[開発]にチェックを入れて[OK]をクリックします。
ツールバーから[開発]が選択できるようになり、[Visual Basic]をクリックします。
開発環境が現れます。
ツールバーの[挿入]をクリックし、[標準モジュール]をクリックするとマクロのコードを記述できるようになります。
マクロを実行、停止終了する方法
マクロを実行、停止する方法についてみていきましょう。
マクロの実行
まず、実行したいマクロをクリックします。そして、F5キーを入力すると実行されます。
また、ツールバーから [実行] ボタンをクリックすることで実行することもできます。
その他にも、ツールバーの[実行] をクリックして [Sub/ユーザーフォームの実行] をクリックすることでも実行できます。
マクロの停止
マクロを停止する場合は、ツールバーの[リセット]ボタンをクリックします。
また、ツールバーの[実行] をクリックして [リセット] をクリックすることでも停止できます。
マクロを強制終了する方法
無限ループなどを実行してしまい、強制終了したい場合があります。
そんな場合は、[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%が「プログラミング学習で挫折や行き詰まりを感じた」と回答しています。
また、こうした背景もあってか、弊社がプログラミングに興味がある人100名へ実施した別の調査では
- 確実にスキルを身につけられると思ったから
- 独学では不安がある
- 効率よく学べそう
などの理由から、61%が「プログラミングの勉強を始めるならスクールを選ぶ」と回答しています。
加えて、プログラミングスクールの卒業生に「独学ではなくスクールを活用した理由」を聞いたところ「できるだけ短い期間でITエンジニアへの転職や副業に必要なスキルを身につけたかった」という回答も多く寄せられました。
上記から、1人でプログラミングスキルを習得できるか不安な人や短期間でスキルを習得したい人ほど確実性を求め、現役エンジニアといったプロの講師に質問できるプログラミングスクールを利用する傾向にあるのがわかります。
いざ独学でプログラミングを学び始めても、勉強の最中に挫折しまっては学習にかけた時間を悔やむだけでなく「プログラミングスキルを身につけるのって思っていたよりも難しいんだな…」とVBAの習得自体を諦めかねません。
仮にわからないことを飛ばしながら勉強を進めたとしても、ITエンジニアへの転職や副業での収入獲得を実現できる実践的なスキルが身につかなければ、結局後悔することになります。
そこで、おすすめしたいのが「SAMURAI ENGINEER(侍エンジニア)」です。
料金 | 月分割4.098円~ |
実績 | ・累計指導実績3万5,000名以上 ・受講生の学習完了率98% ・受講生の転職成功率99% |
侍エンジニアをおすすめする最大の理由は「挫折しづらい学習環境」にあります。
先ほど述べたとおり、独学者の多くは自力で不明点やエラーを解決できないためにプログラミング学習を挫折しています。そのため、未経験者が現役エンジニアのようなプロに質問や相談できない状況で、プログラミングスキルを習得するのは非常に難易度が高いといえます。
しかし、侍エンジニアでは
- 現役エンジニア講師によるマンツーマンレッスン
- 現役エンジニアに質問できるオンラインでのQ&Aサービス
- 不安や悩み・勉強の進み具合を相談できる学習コーチ
といったサポート体制を整えているため、学習中に出てきたわからないことや不明点をいつでも相談可能です。「受講生の学習完了率98%」「転職成功率99%」という実績からも、侍エンジニアなら挫折しづらい環境でプログラミング学習を進められるといえます。
また、侍エンジニアではカウンセリングにて受講生一人ひとりの目的をヒアリングしたうえでカリキュラムを作成するため、限られた受講期間でも効率的に必要なスキルだけを習得可能です。
最短距離で目的を実現できるようカリキュラムが組まれているため、勉強する順番や内容を誤り非効率に時間や手間を費やす心配もありません。
なぜ侍エンジニアが挫折せずVBAを習得できるのか気になる人はぜひ公式サイトをご覧ください。
公式サイトで詳細を見るまとめ
ここでは、マクロについて説明しました。マクロをこれから使う場合に必要な情報ばかりです。
どれも使いこなすことができるように、この記事を何度も参考にして下さいね!