Использовать флажок, динамически добавляемый в пользовательскую форму
Я добавить CheckBox1
к моему UserForm
с этим кодом:
Private Sub UserForm_Initialize()
Dim opt As Variant
Set opt = UserForm1.Controls.Add("Forms.checkbox.1", "CheckBox1", True)
End Sub
Теперь, когда я нажимаю на CommandButton
Я хочу проверить, если CheckBox1
проверено или нет:
Private Sub CommandButton1_Click()
If CheckBox1.Value = False Then
MsgBox "F"
End If
End Sub
Но этот код не работает; Я думаю, потому что флажок добавляется динамически.
Это всего лишь упрощение кода для решения проблемы.
2 ответа
Решение
Это то, что вы думаете о:
Option Explicit
Private Sub UserForm_Initialize()
Dim opt As Variant
Set opt = Me.Controls.Add("Forms.checkbox.1", "CheckBox1", True)
End Sub
Private Sub CommandButton1_Click()
If Not Me.Controls("CheckBox1") Then
MsgBox "F"
End If
End Sub
Однако, в зависимости от вашего опыта и желания писать лучший код, вы можете решить придерживаться некоторого шаблона MVC при работе с формами. Прочитайте их, чтобы узнать больше об этом:
Это должно быть следующим
Private Sub CommandButton1_Click()
If Me.Controls("Checkbox1").Value = False Then
MsgBox "F"
End If
End Sub