|
皆様ありがとうございます。
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の外のモジュールに記述できる環境を作成するほうが
>良いと思いますよ
|
|