- ベストアンサー
EXCEL VBAのユーザーフォームに引数を渡す方法について
すいません、EXCEL VBAのユーザーフォームに引数を渡す方法についてご質問があります。 シート上にコマンドボタンを2つ用意する。 コマンドボタン1を押すと変数mは1 コマンドボタン2を押すと変数mは2 としてユーザーフォームを呼び出す。 Public m As Integer Private Sub CommandButton1_Click() m = 1 Call フォーム呼び出し(m) End Sub Private Sub CommandButton2_Click() m = 2 Call フォーム呼び出し(m) End Sub Sub フォーム呼び出し(m As Integer) UserForm1.Show End Sub 次にユーザフォームにコマンドボタンを1個置き、 ボタンを押したとき、mが1であれば「ボタン1」 mが2であれば「ボタン2」 とメッセージボックスを出し、ユーザーフォームを閉じる。 Private Sub CommandButton1_Click() If m = 1 Then MsgBox "ボタン2" ElseIf m = 2 Then MsgBox "ボタン2" End If Unload UserForm1 End Sub プロシージャ間の引数渡しは色々なテキストに載っているのですが ユーザーフォームに引数を渡す方法はどうも見つからず、 Private Sub CommandButton1_Click(m) としても、コンパイルエラーとなってしまいます。 よろしくご教示をお願いいたします。
- みんなの回答 (2)
- 専門家の回答
お礼
出来ました!ありがとうございました。 ですが、自分が作ったものとどこが違うのかまだよく理解できていません。参照渡しと値渡しのところをもう一度今から勉強してみます。 わからないことがありましたら別途ご質問させていただきたいと思います。