|
▼にしもり さん:
こんにちは
>そこでチェックボックスを設けて(ラベルはHONSHA [本社の意])、デフォルトでチェックを
>入れておきたいです。
>また、チェックが入っている間はTextBox2はグレーアウト(Inactive)しておきたいのです。
>もし操作者がチェックを入れたままCommandButtonをClickしたら、HONSHAとws1に書かれ、
>もし操作者がチェックをはずしたら、TextBox2がActiveになり、操作者がTextBox2に入力した値が
>CommandButton Click時にws1に書かれる、というふうにしたいのです。
キチンと考えをまとめる癖を付けましょう。
こう書いた方が考えやすいでしょ?
条件1.UserForm表示時
1.TextBox2はグレーアウト(Inactive)しておきたいのです
2.チェックボックスを設けて(ラベルはHONSHA [本社の意])、デフォルトでチェックを
入れておきたいです。
条件2.
・チェックが入っている間はTextBox2はグレーアウト(Inactive)しておきたいのです。
条件3.
>もし操作者がチェックを入れたままCommandButtonをClickしたら、HONSHAとws1に書かれ、
>もし操作者がチェックをはずしたら、TextBox2がActiveになり、操作者がTextBox2に入力した値が
>CommandButton Click時にws1に書かれる、というふうにしたいのです。
上記をコード化すると、以下
条件1.
UserForm表示時のInitialize
Private Sub UserForm_Initialize()
Me.CheckBox1.Value = True
Me.TextBox2.Enabled = False
End Sub
条件2.
Private Sub CheckBox1_Click()
TextBox2.Enabled = Not CheckBox1.Value
End Sub
条件3.ここは未確認
Private Sub CommandButton1_Click()
Const csData As String = "HONSHA"
If CheckBox1.Value = True Then
ws1.Cells(i, 10).Value = csData
Else
'ここでTextBox2を使用可能にしても意味無いので不要。
'値の取得は可能
' Me.TextBox2.Enabled = True
ws1.Cells(i, 10).Value = Me.TextBox2.Value
End If
Unload Me
End Sub
あとは Hirofumi さんのを参考にして下さい。
|
|