Мне нужно ограничить текстовое поле в пользовательской форме, чтобы принимать значения от 50000 до 59999; а также принять пустую запись.

Если эти условия не выполняются, форма пользователя должна появиться снова.

0
kenneth coutinho 24 Сен 2018 в 07:40

2 ответа

Лучший ответ
Private Sub TextBox3_AfterUpdate()
If TextBox3.Value < 50000 Or TextBox3.Value > 59999 Or TextBox3.Value = "" Then
    MsgBox ("worng entry")
    TextBox3.Value = ""
    Exit Sub
    End If
End Sub
0
Raj Shaw 24 Сен 2018 в 12:10

Это должно быть в кнопке, которую пользователь нажимает, пытаясь отправить. Запустите это, прежде чем что-либо делать - если ваши критерии будут выполнены, код остановится и вернется к форме.

Я предполагаю, что вы также захотите обратить внимание на нечисловые записи.

If Textbox.Value < 50000 or TextBox.Value > 59999 or Not IsNumeric(TextBox) Then
    Textbox.SetFocus
    MsgBox "Invalid Entry"
    Exit Sub
End If

Первое, что приходит мне в голову, чтобы разрешить пустую запись, - просто вставить пробел, чтобы создать вид пустой записи, но я уверен, что есть лучший способ сделать это.

If Len(TextBox.Value) = 0 Then TextBox.Value = Chr(32)
0
urdearboy 24 Сен 2018 в 05:45