更新日:、 作成日:
VBA マクロを作成して実行する
はじめに
Excel VBA マクロを作成して実行する方法について紹介します。
VBA の開発環境からシートや標準モジュールにコードを入力して作成します。
VBA マクロを保存するには、ファイルの種類を マクロ有効ブック (.xlsm) にして保存します。
マクロを実行するにはショートカットを入力したりボタンをクリックします。
開発環境を表示する
VBA の開発環境を表示するには [開発] タブをクリックして [Visual Basic] をクリックします。

VBA のコードを作成する
プロジェクトウィンドウから [シート] や [標準モジュール] など、コードを入力したい [ファイル] をダブルクリックします。Sheet1 に対して操作をしたいなら Sheet1 にコードを入力します。

挿入タブから標準モジュールやクラスを追加できます。下記の「マクロを記録する」で Excel の操作をマクロにすると標準モジュールにコードが出力されます。

コードを表示したら Sub 関数を作成します。これが VBA で最初に実行されるコードになります。この関数の中に実行したいコードを入力していきます。

VBA がわからないうちは、次の「マクロを記録する」からマクロを作成するのをおすすめします。
スポンサーリンク
マクロを記録する
エクセルの「マクロの記録」機能を使うと、エクセルの操作を自動で VBA のコードに出力してくれます。VBA がわからない方でもマクロを作成できます。
[開発] タブをクリックして [マクロの記録] をクリックします。

[マクロ名] を入力して [OK] をクリックします。

ここからエクセルの操作が記録されます。セルに値を入力するなど、マクロにしたい操作を行います。

マクロの記録を終了するときは [記録終了] をクリックします。

標準モジュールが追加され、マクロ名の Sub 関数が作成されます。その中に記録した操作が出力されます。

VBA マクロを保存する
VBA マクロが含まれるファイルを保存するには、通常の拡張子 .xlsx では保存できません。マクロ有効ブック .xlsm で保存する必要があります。
VBA マクロが含まれるファイルを保存するときにメッセージが表示されるので [いいえ] をクリックします。

[Excel マクロ有効ブック (.xlsm)] を選択して保存します。

マクロを有効にする
VBA マクロが含まれない .xlsx のファイルを開いたときは、マクロが無効な状態でもマクロを作成して実行できます。
VBA マクロを含む .xlsm のファイルを開いたときは、マクロを有効にしないと実行できません。
[ファイル] をクリックして [オプション] をクリックします。

[トラストセンター] をクリックして [トラストセンターの設定] をクリックします。

[マクロの設定] をクリックし、[警告して、VBA マクロを無効にする] を選択して [OK] をクリックします。

VBA マクロを含む .xlsm のファイルを開いたときは、マクロが無効になっています。[コンテンツの有効化] をクリックして、そのファイルだけマクロを有効にできます。

コンテンツの有効化したファイルは「信頼済みドキュメント」になり、マクロを無効にしても実行できます。次に開くときもコンテンツの有効化のメッセージは表示されません。
信頼済みドキュメントをクリア
信頼済みドキュメントをクリアするには [信頼済みドキュメント] をクリックして [クリア] をクリックします。

[はい] をクリックします。

すべての信頼済みドキュメントがクリアされ、マクロを実行するには再度コンテンツの有効化する必要があります。
VBA マクロを実行する
作成したマクロを実行する方法を紹介します。
- VBA の開発環境から実行する:開発者向け
- マクロを選択して実行する:開発者向け、ユーザー向け
- ショートカットから実行する:ユーザー向け
- ボタンから実行する:ユーザー向け
VBA の開発環境から実行する
この方法は開発時に手軽に実行できます。
実行したい [関数] をクリックします。カーソルがある関数が実行する関数になります。

F5 キーを入力して実行できます。またはツールバーや [実行] から [Sub/ユーザーフォームの実行] をクリックします。

クリックした関数が実行されます。
マクロを選択して実行する
この方法はエクセルの画面から実行できます。
[表示] タブから [マクロの表示] をクリックします。または [関数] タブから [マクロ] をクリックします。


または、関数以外の [位置] をクリックして実行します。

実行したい [マクロ] を選択して [実行] をクリックします。

選択したマクロが実行されます。
ショートカットから実行する
この方法はショートカットキーから実行できます。
ショートカットを設定するには [表示] タブから [マクロの表示] をクリックします。または [関数] タブから [マクロ] をクリックします。


ショートカットを設定したい [マクロ] を選択して [オプション] をクリックします。

[キー] を入力して [OK] をクリックします。Shift キーを組み合わせられます。

Ctrl + キー を入力してマクロが実行されます。
ボタンから実行する
この方法はボタンなどのコントロールを操作して実行できます。
[開発] タブから [挿入] をクリックして ActiveX コントロールの [コマンド ボタン] をクリックします。

[シート] にドラッグしてボタンを貼り付けます。その [ボタン] をダブルクリックします。

イベントが作成されます。これはそのボタンをクリックしたときに実行されます。

[デザイン モード] をクリックしてオフの状態にします。

ボタンをクリックすると、イベントが発生してその処理が実行されます。

コンパイル
コンパイルするとコード全体を構文チェックします。関数名を間違えて入力しているなど、不正なコードがあるとエラーで教えてくれます。
[デバッグ] から [VBAProject のコンパイル] をクリックします。

コンパイルされます。一度コンパイルすると、コードを編集するまでコンパイルできなくなります。
コンパイルしなくても実行されるコードは、その時に自動でコンパイルされます。コンパイルすると実行する前にエラーがわかります。
スポンサーリンク