Excel VBA質問箱 IV

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

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


5862 / 76732 ←次へ | 前へ→

【76475】Re:2つのuserform
お礼  匿名  - 14/12/8(月) 12:46 -

引用なし
パスワード
   皆様ありがとうございます。
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
  call ch_no()
End Sub

Sub ch_no()
 UserForm1.CheckBox1.Value = False
End Sub

とりあえずこのような感じでやっていきます。
いろいろ試してみます。

▼ichinose さん:
>>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の外のモジュールに記述できる環境を作成するほうが
>良いと思いますよ

8 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 お礼[未読]

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