Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


5866 / 76735 ←次へ | 前へ→

【76474】Re:2つのuserform
発言  ichinose  - 14/12/8(月) 6:41 -

引用なし
パスワード
   >checkbox1が1つ目のuserform上にある
>  true だと 2つ目のuserformが開く
>ここまではOK。
出来てるコードも記述してください。


この二つ目のユーザーフォームをUserForm2 だとします。


このcheckbox1をTrueにしたら、直ちに UserForm2をモーダルモードで表示するのだとすれば、


Private Sub CheckBox1_Click()
  If CheckBox1.Value Then
    UserForm2.show
    unload UserForm2
    CheckBox1.Value=false
  End If
End Sub

これでよいですね!!


>Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
> UserForm1.CheckBox1.Value = False
>End Sub

これでも作動しますけど、この記述だとUserForm2の呼び出し元は、
UserForm1だと限定してしまいます。
UserForm2は、他のモジュールからも呼び出されるかもしれません。
今は、そうでなくても将来はそのような仕様になるかもしれません。


オブジェクトの独立性を高めるという事を考慮すると、

UserForm1.CheckBox1.Value = False

というコードは、UserForm2の外で行うのが良いと思いますよ!!


UserForm2がモーダレスモードで表示する場合は、簡単ではないですが、
それでも
オブジェクトの独立性を高めるという事を考えると

UserForm1.CheckBox1.Value = False

というコードは、UserForm2の外のモジュールに記述できる環境を作成するほうが
良いと思いますよ

0 hits

【76470】2つのuserform 匿名 14/12/7(日) 22:58 質問[未読]
【76471】Re:2つのuserform カリーニン 14/12/7(日) 23:24 発言[未読]
【76472】Re:2つのuserform カリーニン 14/12/7(日) 23:26 発言[未読]
【76473】Re:2つのuserform カリーニン 14/12/7(日) 23:30 発言[未読]
【76474】Re:2つのuserform ichinose 14/12/8(月) 6:41 発言[未読]
【76475】Re:2つのuserform 匿名 14/12/8(月) 12:46 お礼[未読]
【76476】Re:2つのuserform ichinose 14/12/8(月) 18:40 発言[未読]
【76477】Re:2つのuserform 匿名 14/12/9(火) 20:23 お礼[未読]

5866 / 76735 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free