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

3

我有一个由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个文本框在我的表单中输入日期时,用户只需要输入一个日期,而不是5个,我遇到的问题就是用户必须为其他四个文本框输入日期才能提交表单。
所以我的问题是: 有什么可用的VBA代码可以首先确定文本框中是否存在文本,然后再确定日期格式是否正确?
我尝试了类似于这样的东西:
 If textboxDate1.ListIndex = -1 Then

但是我无法使用IsDate子句使其正常工作。

提前致谢。

1个回答

4
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
+1 :) 然而我有一个建议。你可能想使用 Len(Trim(textboxDate1.Text)) <> 0 而不是 textboxDate1.Text <> "" - Siddharth Rout
+1 不过,你可以通过先检查长度来进行优化。如果 Len = 0,那么检查 IsDate 就没有意义了。 - JimmyPena

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接