【发布时间】:2012-02-04 12:31:59
【问题描述】:
我需要检查在文本框中输入的日期是否有效。它必须是单个文本框,因此没有解决方法。 现在,我有这个代码:
Private Sub cmdOK_Click()
Dim dataAnalisi As Date
If IsDate(txtDataAnalisi.Value) Then
dataAnalisi = txtDataAnalisi.Value
Dim giornoAnalisi, meseAnalisi As Integer
giornoAnalisi = Format(dataAnalisi, "dd")
meseAnalisi = Format(dataAnalisi, "mm")
If giornoAnalisi <= 31 And meseAnalisi <= 12 Then
Call arrayList(dataAnalisi)
Unload Me
Else
GoTo DateError
End If
Else
DateError:
MsgBox "Inserire una data formattata correttamente!", vbCritical, "Errore nell'inserimento!"
txtDataAnalisi.SetFocus
End If
End Sub
对不起,如果它有意大利语文本。该函数运行良好,唯一的问题是,如果我输入例如 11/14/12(其中日期为 dd/mm/yy 并且 14 是错误类型),它会反转日期和月份值。相反,我希望 sub 告诉用户再次检查他的输入!你能帮助我吗?谢谢!
【问题讨论】:
-
什么是调用arrayList 调用?你能提供一个工作表的例子吗?
-
即使它必须是单个文本框,您也可以使用弹出的日期选择器来绝对控制结果
标签: forms excel vba date textbox