Excel用户窗体文本框数据验证

时间:2019-02-16 14:03:30

标签: excel vba userform

我正在创建一个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 :(得分:0)

常规语法必须类似于以下内容:

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