VBA別館・Python別館
オプションボタンをユーザーフォーム上で使うー続(完) - Tak
2018/09/01 (Sat) 15:31:58
⑪ UserFormのcodeを書きます
OptionButtom1のcodeを青枠のところへ書きます。
Private Sub OptionButton1_Click()
MsgBox ("OptionButton1をクリックしました")
OptionButton1.Value=False
End Sub
・ OptionButton1.Value=False チェックマークを外しておかないと、次に同じボタンを押せないので外しておきます。
同様にOptionButton2,3もcodeを書いて下さい。
Re: オプションボタンをユーザーフォーム上で使うー続き - Tak
2018/09/01 (Sat) 15:37:08
⑫ 上の結果はこうなります
今までは、それそれのボタンをクリックしたら、即処理が行われましたが、その処理codeをComanndButton1にやらせるのが次になります。
SheetとUserFormに同じ名前のCommandButton1が有りますが、動作する場所が違いますから構いません。
Re: オプションボタンをユーザーフォーム上で使うー続き - Tak
2018/09/01 (Sat) 16:03:15
⑬ 前のcodeはこうなってました
---------------------------
Private Sub OptionButton1_Click()
MsgBox ("OptionButton1をクリックしました")
OptionButton1.Value = False
End Sub
Private Sub OptionButton2_Click()
MsgBox ("OptionButton2をクリックしました")
OptionButton2.Value = False
End Sub
Private Sub OptionButton3_Click()
MsgBox ("OptionButton3をクリックしました") OptionButton.Value = False
End Sub
----------------------
普通はオプションボタンで選んでから、コマンドボタンで実行します。 その方が効率が良いのです。
ではコマンドボタンにその処理を任せるcodeをかきます。
---------------------
Private Sub CommandButton1_Click()
'OptionButtonの処理をここで行う
If OptionButton1.Value = True Then MsgBox ("OptionButton1をクリックしました"):
If OptionButton2.Value = True Then MsgBox ("OptionButton2をクリックしました"):
If OptionButton3.Value = True Then MsgBox ("OptionButton3をクリックしました"):
End Sub
-----------------------
簡単ですよね。 OptionButton1.Value=Falseはなくても動作します。
Re: オプションボタンをユーザーフォーム上で使うー続き - Tak
2018/09/02 (Sun) 17:04:15
⑭ 最後にUserFormを閉じます
Private Sub CommandButton1_Click()
Unload me
End Sub
意味は「私を下ろして」ということで、もし変数とかをキープしていたらそれらを破棄して、お終いにして、と言う意味です。
他に「End」でもUserFormは閉じますが、持っていた変数の値など知らないよ、と言う少し無責任な終わり方です。
ということで、この項も終了です。