

この記事でわかること
・VBEとは?
・モジュールとは?
・プロシージャとは?
今回作りたいマクロはこれだ!

今回はメッセージボックスにあいさつ文を表示するマクロを作ります。設置されているボタンを押すと、メッセージが表示される仕組みです。


マクロの編集画面「VBE」を立ち上げる

では早速マクロを作っていきましょう。マクロを作るには「Visual Basic Editor」略してVBE(ブイ・ビー・イー)というExcelに付属するコード入力・編集画面を使います。
では、VBEを起動していきましょう。
[開発]タブ→Visual Basic をクリック

VBEが起動しました。画面構成は下図の通りです。


マクロの入力シート「標準モジュール」を追加しよう
次に、さきほど起動したVBEに「標準モジュール」を追加する必要があります。標準モジュールとは実際にコードを書いていく指示書のようなものです。
ココがポイント
標準モジュールの追加手順

標準モジュールを追加すると、プロジェクトエクスプローラーにモジュール名が追加されます。モジュール名は「Module」の末尾に数値が付いた名前になります。(追加するたびに末尾の数字が増えていきます)


コードの書き方(マクロの構造)

マクロのコードは「Sub マクロ名()」で開始し、「End Sub」で終了するという決まりがあり、SubとEndの中に書かれたコードが上から1行ずつ実行されることでマクロが動いてくれます。

ココがポイント
<マクロ名には名付けルールがあります>
- 使える文字は英数字、漢字、ひらがな、カタカナ、アンダースコア「_」
- 名前の先頭に数字と「_」は使えない
- VBAの予約語(命令文のキーワードや関数の名前)は使えない

標準モジュールを開いたら、以下の手順でコードを書いてください。
また、マクロ名以外はすべて半角入力してください。VBAは自動で大文字/小文字が正しく修正されるので、すべて小文字で入力して構いません。

命令文を入力する行の行頭にカーソルが表示されています。その状態で【Tab】キーを押してインデント(字下げ)してから、命令文を入力します。
「おはよう!」以外は、すべて半角で入力してください。また、「MsgBox」の後ろには半角スペースを入力してください。

以上で、マクロ「朝の挨拶」が完成です。
マクロを実行する

では、さきほど作ったマクロを実行させましょう。ちなみに今回は、シート上に配置したボタンから実行する方法をとりますが、マクロはボタン実行だけではありません。
実行方法は他にもありますので気になる方は下記の記事をご参考ください。
ボタンを配置する
下記の手順でシート上の好きな場所にボタンを作ります。


これで、ボタンにマクロが登録されたので、ボタンをクリックすればマクロが実行されます。なお、あらかじめワークシートにボタンが配置されている場合は以下のように操作して、マクロを割り当ててください。


「マクロ有効ブック」として保存する
マクロを入力できたら、ブックを保存しましょう。ブックを保存すれば、マクロも一緒に保存されます。ただし、いつも通りの保存方法ではマクロを保存できません。
「マクロ有効ブック」というファイル形式で保存する必要があります。
保存操作は、ExcelとVBEのどちらで行ってもかまいませんが、今回はVBEから保存する操作を紹介します。

保存先のフォルダーを開いて、ファイルを確認しましょう。マクロ有効ブックは、通常のExcelブックとはアイコンの絵柄と拡張子が異なります。前者の拡張子は「.xlsm」後者の拡張子は「.xlsx」です。

「マクロ有効ブック」を開く
ブックをいったん閉じて、開き直してください。すると、リボンの下に「セキュリティの警告」と書かれた黄色いバーが表示されます。

開いたブックが身に覚えのないブックだった場合は「コンテンツの有効化」をクリックせずに、そのままブックを閉じてください。
まとめ

- マクロコードの入力・編集を行う=VBE
- マクロを書く指示書=モジュール
- 「Sub マクロ名()」から「End Sub」までが1つのマクロ =プロシージャ
- 「MsgBox "●●"」は「●●」という文字列をメッセージボックスに表示する命令文
- マクロを含むブックは「マクロ有効ブック」に保存する
- マクロを含むブックは、最初はマクロが使えない状態で開く。[コンテンツの有効化]をクリックすると、マクロを実行できる状態になる。

\ せっかく勉強するならVBAの資格を取ろう! /
文系にもオススメ
-
-
VBAエキスパートに合格するには?勉強時間と対策を解説
続きを見る