有没有办法在ActiveX TextBox中将日期格式设置为dd-mmm-yyyy
?
我使用下面的代码来分隔报价,但是当用户放置月份时会出现一个错误,即1993年5月31日,但有时用户正在推出2015年5月31日。
因为无法通过服务器获取数据......
Private Sub TextBox1_Change()
If TextBox1.TextLength = 2 Or TextBox1.TextLength = 6 Then
TextBox1.Text = TextBox1.Text + "-"
End If
End Sub
答案 0 :(得分:2)
我是否可以建议你采用不同的方法做一些事情(注意这是未经测试的,而不是最终的代码,只是一些建议,如何处理这个):
Private Sub Textbox1_LostFocus()
Dim Da as Date
Da = CDate(Textbox1.Text)
Textbox1.Text = Format(Da, "dd-mmm-yyyy")
End Sub
这将:
然后,您可以在此处添加错误处理,以便如果vba无法将其转换为日期,则可以向用户报告他们输入的值不正确并在继续之前进行更正。
我也不是主张这是最佳做法,而是OP可以让他的方法发挥作用的方式。