即効テクニック |
UserFormにコマンドボタンを2つ配置します。CommandButton1をクリックすると「True」を、CommandButton2をクリックすると「False」を変数に格納して、呼び出しもとのプロシージャに返します。 まず、変数「Bol_Return」を標準モジュールの宣言セクションで、Publicを使って次のように宣言します。
Public Bol_Return As Boolean
フォームを表示して、変数を受け取ってメッセージボックスを表示するプロシージャを作成します。
Sub Sample() Bol_Return = False UserForm1.Show If Bol_Return Then MsgBox "CommandButton1がクリックされました" Else MsgBox "CommandButton2がクリックされました" End If End Sub
CommandButton1がクリックされた時に発生するイベントには、次のように記述します。
Sub CommandButton1_Click() Bol_Return = True Unload Me End Sub
CommandButton2がクリックされた時に発生するイベントには、次のように記述します。
Sub CommandButton2_Click() Unload Me End Sub
Sampleを実行して、表示されたフォームに配置されたどちらかのコマンドボタンをクリックすると、フォームが閉じられて、その結果がメッセージボックスに表示されます。