Excel VBA,如何使文本框格式仅适用于日期
我想做一个文本框,但该文本框只能按日期格式输入,其他什么都不能 据我所知,您无法(轻松地)强制文本框中的文本始终为有效日期,但您可以在用户试图离开文本框时检查输入的内容:Excel VBA,如何使文本框格式仅适用于日期,excel,vba,Excel,Vba,我想做一个文本框,但该文本框只能按日期格式输入,其他什么都不能 据我所知,您无法(轻松地)强制文本框中的文本始终为有效日期,但您可以在用户试图离开文本框时检查输入的内容: Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) If Not IsDate(TextBox1.Text) Then MsgBox "Date required" Cancel = True End
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”
“2017年3月8日”
“3月8日”
“8/3/17”
=
,然后单击应设置为日期格式的目标单元格。我的意思是,与此不同。。我制作了一个包含文本框调用日期的用户表单,我希望文本框只能按日期格式(如mm/dd/yyyy)输入,并且用户不能在其中输入任何单词。您是指用户表单textbox
?或者一个输入框
?用户\u form textbox实际上我对该格式有想法,所以我制作了一个标签,告诉用户日期文本框只能使用mm/dd/yyyy格式,如果用户使用另一种格式,那么我已经告诉了,或者他们在其中输入了一个单词,它会弹出一个msgbox。。。我已经找到了一种方法,但是我忘记保存,我把它弄丢了,现在我忘记了代码是什么。。。我只记得它与“dim a as date”有关,其余的我都忘了…@EkaOktavianus从用户体验的角度来看,通常最好允许他们以自己喜欢的任何格式输入日期-不要将他们限制为一种特定的格式。如果程序使用该日期作为日期
,则程序只关心该日期是否有效。