プロシージャの記述方法

プロシージャを記述するには Visual Basic Editor(VBE)を起動する必要があります。VBEの起動の仕方がわからない場合はさきほどのリンク先からVBEの起動方法を学習してください。
準備ができたらプロシージャを記述してみましょう。

スポンサーリンク

Sub プロシージャ構文

すべての処理はこのSubプロシージャから始まります。 Subプロシージャを作成するには標準モジュールなどのコードウィンドウを開いて以下のように記述します。

【構文】
Sub [プロシージャ名]()
   :
(処理を記述)
   :
End Sub

プロシージャ名には半角英数字やアンダースコアのほかに日本語(全角)も指定することができます。 但し、プロシージャ名の先頭に数字とアンダースコアを指定することはできません。

Subプロシージャ記述の流れ

標準モジュールの追加

※標準モジュールが既に追加済みの場合、このステップは飛ばしてください。
VBE画面のメニュー 挿入 から 標準モジュール を選択します。

標準モジュールの追加
標準モジュールの追加
標準モジュールが追加された様子
標準モジュールが追加された様子

標準モジュールの名前変更

必要に応じて標準モジュールの名前を変更します。名称変更したい標準モジュールが選択されていることを確認してから、 プロパティウィンドウのオブジェクト名を変更します。 新しいオブジェクト名を入力したら Enter キーを押下します。

標準モジュールのオブジェクト名変更
標準モジュールのオブジェクト名変更

するとプロジェクトエクスプローラ上のモジュール名も変更されます。 今後のサンプルマクロはこのモジュールに追加していくようにします。 この”sample用”モジュールをダブルクリック (または 右クリック ⇒ コード表示 )し、コードウィンドウを開きます。

モジュール名変更を確認
モジュール名変更を確認

コードウィンドウにプロシージャを記述

コードウィンドウにプロシージャ名まで入力したらEnterキーを押下します。

コードウィンドウにプロシージャ名を入力
コードウィンドウにプロシージャ名を入力

すると、VBEには補完機能がありますので、カッコと”End Sub”が自動的に入力されます。

VBEによる補完機能
VBEによる補完機能

ここでは例として、Subプロシージャ内にメッセージボックスを表示するコードを記述します。

Subプロシージャ内にコードを入力
Subプロシージャ内にコードを入力

最後まで入力してから、カーソル位置を変えると”M”と”B”が自動的に大文字になります。
これは”MsgBox”という組み込み関数が元々存在するため、”msgbox”は”MsgBox”のことだと判断されたためです。

VBEによる関数名チェック機能
VBEによる関数名チェック機能

マクロを実行してメッセージボックスが表示されることを確認します。

サンプルマクロ実行結果
サンプルマクロ実行結果

Function プロシージャ構文

記述の仕方は基本的にSubプロシージャと同じです。ただ、Functionプロシージャは戻り値を設定することができるので、 その戻り値のデータ型を指定する必要があります。データ型を省略した場合はバリアント型となります。

戻り値とはプロシージャ内で処理した結果、呼び出し元へ戻す値のことです。呼び出し元はこの値を使用してさまざまな処理を行うことができます。

また、Functionプロシージャにはその処理構造上何かしらの引数を指定することになると思います。 (引数を指定しなくてもエラーにはなりません)
引数のあるFunctionプロシージャ(およびSubプロシージャ)はこれ単体では実行することはできませんので、 必ず他のプロシージャから呼び出して使用することになります。

構文
Function [プロシージャ名]( [引数], … ) as [データ型]
   :
(処理を記述)
   :
End Function
タイトルとURLをコピーしました