HOME > 即効テクニック > Excel VBA > その他関連のテクニック > フォームから変数を受け取る

即効テクニック

その他関連のテクニック

フォームから変数を受け取る

(Excel 97)
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を実行して、表示されたフォームに配置されたどちらかのコマンドボタンをクリックすると、フォームが閉じられて、その結果がメッセージボックスに表示されます。