【问题标题】:VBA to verify if text exists in a textbox, then check if date is in the correct formatVBA验证文本框中是否存在文本,然后检查日期是否格式正确
【发布时间】:2012-08-05 11:58:26
【问题描述】:

我有一个结合 VBA 创建的 Excel 表单。在表单中,我有一个文本框,用户可以在其中输入日期。

我已创建此 VBA 子句以确保用户键入支持 xx/xx/xxxx 格式的日期。

If Not IsDate(textboxDate1.Text) Then
  Call MsgBox("Please select a correct Date format", vbOKOnly)
  Exit Sub
End If

但是,使用此 VBA 代码,用户需要输入日期,无论用户是否需要。因此,当我有 4 个其他文本框在我的表单中输入日期,而用户只需要输入 1 个日期而不是 5 个时,我遇到了用户需要为其他四个文本框输入日期的问题为了提交表单。

所以我的问题: 哪些 VBA 代码可用于首先确定文本框中是否存在文本,然后第二确定日期格式是否正确。

我正在尝试类似的事情:

 If textboxDate1.ListIndex = -1 Then

但我无法让它与 IsDate 子句一起使用。

非常感谢。

【问题讨论】:

    标签: forms excel vba date textbox


    【解决方案1】:
    If (Len(Trim(textboxDate1.Text)) <> 0)  And Not IsDate(textboxDate1.Text) Then 
      Call MsgBox("Please select a correct Date format", vbOKOnly) 
      Exit Sub 
    End If 
    

    【讨论】:

    • + 1 :) 但是一个建议。您可能想使用Len(Trim(textboxDate1.Text)) &lt;&gt; 0 而不是textboxDate1.Text &lt;&gt; ""
    • +1 但是,您可以通过首先检查长度来优化它。如果Len = 0 没有必要检查IsDate。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-07
    相关资源
    最近更新 更多