Userform中的必填字段

时间:2015-08-19 02:56:04

标签: vba

我有一个包含三个字段(文本框,命令框和列表框)的用户表单,我正在努力使其按下确定,如果所有字段都没有完成,您将收到一条错误消息。因此,应填充所有三个字段。

我已经尝试过以下代码,该代码最初适用于文本框(但是如果您输入一个值然后将其删除,则该消息不会再次弹出)但对命令框不起作用

如果有人可以提供帮助,我们将不胜感激:

If CR_Slide.CRNumber.Text = " " Then
MsgBox "Complete all fields"
End If

If CR_Slide.Severity.SelText = " " Then
MsgBox "Complete all fields"
End If

2 个答案:

答案 0 :(得分:0)

您可能希望在弹出框时结束该过程:

If CR_Slide.CRNumber.Text = " " Then
MsgBox "Complete all fields"
End
End If

If CR_Slide.Severity.SelText = " " Then
MsgBox "Complete all fields"
End
End If

或者Exit Sub代替End

答案 1 :(得分:0)

您正在测试输入是否是由单个空格组成的字符串。事实上你说它"第一次用于文本框"表明你有时会有非空白空间。您可以获取文本并首先通过函数trim运行它,它会将任何全白空格字符串修剪为空字符串,这是一个长度为0的唯一字符串。例如:

If Len(Trim(CR_Slide.CRNumber.Value)) = 0 Then
MsgBox "Complete all fields"
End If

If Len(Trim(CR_Slide.Severity.Value)) = 0 Then
MsgBox "Complete all fields"
End If

应该有效。 (我从Text切换到Value,因为通过控件的Value属性获取用户输入是标准的。