Я создал новый UserForm
с 2 TextBox
с именами по умолчанию. Вы можете применить эту концепцию к каждому текстовому полю.
Private Sub TextBox1_Change()
If Not Me.TextBox1.Text = "" Then
Me.TextBox2.Enabled = True
Me.TextBox2.BackColor = &H80000005
Else
Me.TextBox2.Enabled = False
Me.TextBox2.BackColor = &H80000016
End If
End Sub
Private Sub UserForm_Initialize()
Me.TextBox2.Enabled = False
Me.TextBox2.BackColor = &H80000016
End Sub
Код Initialize
отключает 2-е текстовое поле и устанавливает цвет фона (см. Ниже), чтобы визуально показать, что он отключен при первом открытии формы.
Код Change
оценивает при каждом изменении свойство TextBox.Text
, если следующее текстовое поле должно быть включено или нет.
Примечание: С небольшим поиском Вы найдете миллион других способов проверить наличие пустого текстового поля, отличного от ...Text = ""
.
UserForm при первом открытии (Initialize
Код):
![Initialized userform with no input to textbox1](https://i.stack.imgur.com/WRq8F.png)
После ввода символа в текстовое поле1:
![Form after entering](https://i.stack.imgur.com/99Yqj.png)
Свойство .Enabled
, если установлено значение False
, не позволит пользователь нажимает или вкладывает Control
(в данном случае TextBox
). Я добавляю изменение BackColor
, чтобы иметь визуального помощника, показывающего пользователю, что он «серого цвета» - в противном случае он выглядит так же, как включенный textbox
и может вызвать разочарование у пользователя.
Естественно, цвет после включения возвращается к значению по умолчанию.