VBEにVBAを書いて、実行する方法ついてです。
実際に簡単なコードを記述して、動くところまでを説明します。
VBA、VBEとは?という方は、表示方法まで掲載していますので、「Excelマクロ、VBA、VBEの違いと使い方」をご覧下さい。
VBAを記述する環境を作る
VBEを表示する
まずはVBAを書くために、VBEを表示します。
開発タブを選択すると、 「Visual Basic」というアイコンが 表示されているかと思います。
下記図の□の「Visual Basic」をクリックするとVBEが表示されます。
もしくは「Alt+F11」のショートカットでも起動します。
マクロを頻繁に使用するようになると、VBEを表示する頻度が高くなりますので、ぜひショートカットを覚えてください。
開発タブが表示されていない方は、下記記事を参考に開発タブを表示させてください。
標準モジュールを挿入する
VBEを表示させたら、次は実際にVBAを記載していくモジュールを挿入します。
今回は標準モジュールにVBAを書いていきますので、 VBEのメニューにある「挿入」をクリックして標準モジュールを選択してください。
標準モジュールに、「Module1」が表示されたと思います。
VBAを記述して実行
VBAを記述する
VBAはモジュールの中に「Sub プロシージャ名 ()~End Sub」を1つの単位でコード書いていきます。
「Sub プロシージャ名 ()~End Sub」をプロシージャと言います。
次のコードをModule1に記述します。
Sub Sample1()
MsgBox "おはようございます!"
End Sub
上記の「Sub Sample1()〜End Sub」を実行するとEnd Subまでに記述された内容が実行されます。
「Sub Sample1()」 これがプロシージャ名となり、「Sample1」の部分は以下ルールの範囲内で 、プロシージャ名は好きなように決めれる名前です。
- 頭文字は文字で始まっている
- スペースまたは英数字以外の文字(「&」や「-」、「_」、「.」等)は使用できない
- 80文字以内
- プログラムの予約語またはキーワードを使用することはできない
「MsgBox」というのは、指定した文字列をメッセージに表示する関数です。
「End Sub」はプロシージャが終了しました、という意味です。
VBAの実行
この「Sample1」のコードにカーソルを移動した状態で実行(F5もしくは実行ボタン)すると、メッセージボックスが表示されます。
実行は下記図の□の再生マークです。
MsgBoxはプロシージャがEnd Subまで進んで終了しても、意図的に閉じるまで表示され続けます。
ファイルの保存
VBAを記述したファイルを保存する場合は、これまでのように拡張子を「xlsx」で保存してはいけません。
VBAを含んだファイルは「xlsm」という拡張子を選択して保存しましょう。
名前を付けて保存を選択して、ファイル名を記述した後、拡張子「xlsm」を選択します。