本ページには広告が含まれています。

ExcelマクロVBA モジュールとプロシージャ(初心者向け9)

VBA モジュールとプロシージャ (初心者向け9)
くるみこ
くるみこ

今までは「マクロの記録」で自動記録したコードを使っていろいろな説明をしてきました。今回は、モジュールとプロシージャを自分で作成するところから解説しますね(^^)/

はい!今回もよろしくお願いしますm(_ _)m
いよいよ自分で書いてみることに挑戦するんですね。ワクワクしてきました!

前回のおさらいはこちらの記事です(^^)/ 下のカードをクリックすれば開きます

くるみこ
くるみこ

前回記事でわかったこと
・Withを使うとマクロ(VBA)を高速化できることがわかりました
・Withブロック内では、「.」を使ってオブジェクト名を省略できます
・Withを使うとコードがスッキリして見やすく(わかりやすく)なります
・Withをネストで使う方法やその他の注意事項がわかりました

【この記事でわかること】
VBEのオプション設定で「Option Explicit」を設定しておく方法がわかります
標準モジュールを作成する方法がわかります
・プロシージャの基本的な記述方法がわかります

記事で使用したサンプルファイルをこのリンク先からダウンロードできます。

スポンサーリンク

VBEのオプション設定で「Option Explicit」指定

・「Option Explicit」は、これが書かれているモジュールでは変数を宣言しないと使えませんという命令です。(変数については別途説明予定です)宣言していないとエラー表示します
・VBAを使い始める前に、このオプションは必ず設定しておいた方が良いでしょう

VBEの「オプション」を設定しよう

VBE(Visual Basic Editer)の表示仕方は以前に教えましたね

VBEの「オプション」を設定する

・VBE「ツール」→「オプション」
「変数の宣言を強制する」をチェックします(デフォルトではチェックされていないので)
・「OK」で設定完了です

「変数の宣言を強制する」をチェック
スポンサーリンク

新規モジュールを挿入してみよう

・プロジェクト→右クリック→挿入→標準モジュール

Module3が新しく挿入されました

コード部分を見ると、先ほど設定した「Option Explicit」が記入されていす

モジュール名の変更方法

・モジュール名を変更するにはプロパティウィンドウを表示してオブジェクト名を変更します
・プロパティーのアイコン押下か「表示」→「プロパティウィンドウ」で表示します

プロシージャの基本的な記述方法

・新しいプロシージャの作り方は、下の記事で「マクロ連続実行」というプロシージャを作成しています。忘れてしまった方は参照してください

メッセージを表示するコードを書いてみよう

・画面にメッセージの文字列を表示させてみます
メッセージを表示させるには「MsgBox関数」を使います

・では、プロシージャ名は「メッセージテスト」とします
・表示するメッセージは「コードを初めて書いてみたよ!」とします
・さっそく書いてみましょう

Option Explicit

Sub メッセージテスト()
MsgBox "コードを初めて書いてみたよ!"
End Sub
構文がヒント表示されている

・画像は入力している時の様子です。薄黄色で「MsgBox関数」の構文が表示されています
・先ほど設定したオプションに「自動メンバー表示」「自動クイックヒント」「自動データヒント」のチェックが入っていたので構文がヒント表示されたということです

「MsgBox関数」の使い方は

MsgBox構文

MsgBox(prompt[, buttons] [, title] [, helpfile, context])
引数promptは必ず指定します、ダイアログボックスに表示するメッセージを指定します
[]は省略可能です。[, buttons]が省略された場合、規定値「0」の「OK」ボタンとなります

今回は、オプション無しで prompt = メッセージの文字列 だけ指定した入力です

書いたVBAコードを実行してみます

VBEでコードを実行

・実行してみた結果は、入力したとおりの文字列でメッセージボックスが表示されました
・「OK」ボタン押下でコードは終了します

コードを編集してみます

コードの編集例
実行させて表示されたメッセージボックス


・書いたコードをインデントでずらして見やすくしています
・MsgBoxに引数「アイコン」と「タイトル」を設定しました
・左の画像が実行して表示されたメッセージボックスです
・タイトルが変更されているのが確認できます

・MsgBox 関数についての詳しい情報は「Microsoft Docsのリファレンス」を参照してみてください
・ボタンやアイコンの引数に設定する定数などの詳しい情報が確認できます

まとめ(おわりに)

くるみこ
くるみこ

今回はここまでで終了です!
モジュールとプロシージャについての基礎的なことは理解できましたか?

はい! すこしだけですがわかるようになってきました!
忘れないように自分で色々テストしてみたいと思います(^^)

くるみこ
くるみこ

では、この続きは次回の記事まで少しお待ちください・・・・
ご期待くださ~い(^^)/

まとめと感想など

・VBEのオプション設定で「Option Explicit」を設定しておく方法がわかりました
・標準モジュールを作成する方法がわかりました
・プロシージャの基本的な記述方法がわかりました
・MsgBox関数でメッセージを表示する方法がわかりました

マクロ(VBA)を実行する際は必ずバックアップを取ってから行ってください
・マクロ(VBA)は実行後にファイルを保存すると元に戻すことはできません!
・実行後にファイルを保存せず終了すれば、実行前に戻すことができます!

★★★ ランキング参加中! クリックしてね(^^)/ ★★★

今後の記事について

今回の記事はいかがだったでしょうか。皆さまのお役に立てたなら幸いです(^^;
当面は「初心者向けマクロ」の記事を継続して書いていきます

【検討中の今後の記事内容は・・・・・】
・実務に役立つものを提供できるよう現在検討中です
・その他雑記的に「小ネタなどいろいろ」・・・・・
・今後の記事にご期待ください(^^)/

スポンサーリンク
スポンサーリンク

サンプルファイルをダウンロードできます(下記リンク先へ)

記事で使用したサンプルファイルがダウンロードできます。
こちら(このリンク先)からご利用ください