我想创建一个文本框,但该文本框只能按日期格式输入而不能输入。
答案 0 :(得分:0)
据我所知,您不能(轻松)强制TextBox中的文本始终是有效日期,但您可以检查用户尝试离开TextBox时输入的内容:
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Not IsDate(TextBox1.Text) Then
MsgBox "Date required"
Cancel = True
End If
'Display value in another textbox for testing purposes
TextBox2.Text = Format(CDate(TextBox1.Text), "dd/mm/yyyy")
End Sub
使用IsDate
将允许输入任何系统识别日期,因此您应使用CDate(TextBox1.Text)
来访问输入的日期。不要依赖于文本本身的特定格式,因为输入的文本可以是,例如:
"08/03/2017"
"8 March 2017"
"8 Mar"
"8/3/17"