Excel VBA用户表单现有日期验证

问题描述 投票:1回答:1

我目前正在处理一个文本框(textbox1),其中必须输入日期。但是,到目前为止,还可以输入不存在的日期,例如40-40-2019。有没有办法验证textbox1只有现有日期?我目前使用欧洲日期条目,所以dd-mm-yyyy。以下代码将日期更改为标准格式:

Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
 Me.TextBox1 = Format(Me.TextBox1, "DD-MM-YYYY")
End Sub 

我希望输出只是现有的日期函数

excel vba validation date userform
1个回答
0
投票

使用Isdate()测试日期:

Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
    If Isdate(Me.TextBox1.Text) then
        Me.TextBox1.Text = Format(Me.TextBox1.Text, "DD-MM-YYYY")
    Else
        '...
    End if
End Sub 

https://www.techonthenet.com/excel/formulas/isdate.php

© www.soinside.com 2019 - 2024. All rights reserved.