VBA验证文本框中是不是存在文本,然后检查日期是不是格式正确

Posted

技术标签:

【中文标题】VBA验证文本框中是不是存在文本,然后检查日期是不是格式正确【英文标题】: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 子句一起使用。

非常感谢。

【问题讨论】:

【参考方案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

以上是关于VBA验证文本框中是不是存在文本,然后检查日期是不是格式正确的主要内容,如果未能解决你的问题,请参考以下文章

python - pandas - 检查数据框中是不是存在日期

如何从文本框(windows窗体)检查主键是不是存在于我的数据库中,c#

XCode UITesting 检查文本字段是不是存在

如何检查是不是在 KeyUp 事件的文本框中输入了数字或字母 [重复]

VBA Excel 在文本框中提供当前日期

检查数据库中是不是存在