VBA別館・Python別館

64572

オプションボタンをユーザーフォーム上で使うー続(完) - 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は閉じますが、持っていた変数の値など知らないよ、と言う少し無責任な終わり方です。

ということで、この項も終了です。

名前
件名
メッセージ
画像
メールアドレス
URL
文字色
編集/削除キー (半角英数字のみで4~8文字)
プレビューする (投稿前に、内容をプレビューして確認できます)

Copyright © 1999- FC2, inc All Rights Reserved.