Excel VBAのApplication.Callerプロパティの戻り値は、ユーザー定義関数の場合はRangeオブジェクトであることを記事にしました。
他の型の場合もご紹介しておきましょう。図形にマクロ登録した場合です。
Application.Callerを確認するサンプルマクロ
今回は、以下のようなSubプロシージャを作成してください。
Dim tmp As Variant
tmp = Application.Caller
MsgBox TypeName(tmp)
MsgBox tmp
End Sub
Application.Callerの確認手順
上記のSubプロシージャができたら、シート上に何らかの図形を挿入し、図形を右クリックして表示されるショートカットメニューから[マクロの登録]を実行して、クリックすることで「Callerを確認する_図形にマクロ登録した場合」マクロを実行できるようにします。
マクロの登録が完了して、図形をクリックすると「Callerを確認する_図形にマクロ登録した場合」マクロが実行され、メッセージボックスが2回表示されます。
1つ目のメッセージボックスにはApplication.Callerプロパティの戻り値の型「String」が表示され、
tmp = Application.Caller MsgBox TypeName(tmp)
2つ目には「楕円 1」「正方形/長方形 2」などと表示されます。
tmp = Application.Caller (途中省略) MsgBox tmp
図形にマクロ登録した場合Application.Callerの戻り値は図形の名前
上記のSubプロシージャを図形にマクロ登録した場合、1つ目に表示されるメッセージボックスは必ず「String」ですが、2つ目はマクロ登録した図形により異なります。
ここで表示される「楕円 1」「正方形/長方形 2」は、下図のようなExcel上で確認できる図形の名前です。
最終更新日時:2021-11-04 12:28
Home » エクセルマクロ・Excel VBAの使い方 » Shapesコレクション・Shapeオブジェクト » Application.Callerの戻り値は?-図形にマクロの登録を行った場合