即効テクニック |
ユーザーフォームやActiveXコントロールにはTagプロパティという空っぽのプロパティがあります。このプロパティに、フォームに配置された2つのコマンドボックスのどちらがクリックされたかを判断する値を格納します。 フォームに2つのコマンドボタン「CommandButton1」「CommandButton2」を配置します。 フォームを表示するプロシージャでは、Tagプロパティの値を参照して、どちらのコマンドボタンがクリックされたかをメッセージボックスに表示します。
Sub ShowUserForm() UserForm1.Show If UserForm1.Tag = vbOK Then MsgBox "CommandButton1がクリックされました" ElseIf UserForm1.Tag = vbCancel Then MsgBox "CommandButton2がクリックされました" End If Unload UserForm1 End Sub
コマンドボタンがクリックされた時に発生するイベントには、次のように記述します。
Private Sub CommandButton1_Click() Me.Tag = vbOK Me.Hide End Sub Private Sub CommandButton2_Click() Me.Tag = vbCancel Me.Hide End Sub