在VBA文本框中格式化MM/DD/YYYY日期
我正在寻找一种将VBA文本框中的日期自动格式化为MM/DD/YYYY格式的方法,我希望它在用户输入时格式化。例如,一旦用户输入第二个数字,程序将自动输入“/”。现在,我使用以下代码完成了这个工作(以及第二个破折号):
Private Sub txtBoxBDayHim_Change()
If txtBoxBDayHim.TextLength = 2 or txtBoxBDayHim.TextLength = 5 then
txtBoxBDayHim.Text = txtBoxBDayHim.Text + "/"End Sub
现在,这在打字时效果很好。然而,当尝试删除时,它仍然进入破折号,因此用户不可能删除其中一个破折号(删除一个破折号会导致长度为2或5,然后再运行,添加另一个破折号)。有什么更好的方法吗?