Проверка данных в текстовом поле «Пользовательская форма Excel» - PullRequest
0 голосов
/ 16 февраля 2019

Я создаю пользовательскую форму Excel.Я хочу проверить два значения текстового поля.

if combobox1.text= 1 to 2yr then textbox2.value =>1 and <=2
combobox11.text= 3 to 10yr then textbox2.value =>3 and <=10
combobox1.text= 11 to 15yr then textbox2.value =>11 and <=15
combobox1.text= 16 to 20yr then textbox2.value =>16 and <=20
end if

Userform

1 Ответ

0 голосов
/ 21 февраля 2019

Общий синтаксис должен выглядеть примерно так:

If combobox1.Text = "1 - 2 yr" And (CDbl(textbox2.Value) < 1 Or CDbl(textbox2.Value) > 2) Then
    MsgBox ("Enter correct value")
ElseIf combobox1.Text = <another string> And <another range check> Then...
End If

Примечания:

  • Вы пропустили кавычки вокруг значения combobox1.Text: это нужно сравнитьв текст (String).
  • textbox2.Value необходимо преобразовать в число (Double) для проверки диапазона.
  • Вам нужно будет рассмотреть вопрос о добавлении проверки на свои входные данные, если поле оставлено пустым или введены другие нечисловые значения.
  • Я не завершил полный набор значений для combobox1: вы можете использовать ElseIf, чтобы связать их вместе.
  • После того, как у вас есть базовая структура, вы можете выполнить рефакторинг, написавотдельный Function с именем, например, CheckRange, передающий проверяемое значение и допустимый диапазон вместо повторения вашего кода.
  • В качестве способа уточнения, если вы зайдете так далеко, вы можете проанализироватьдопустимый диапазон от значения checkbox1.Text.Я бы не стал беспокоиться об этом изначально.hth
...