相关疑难解决方法(0)

在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
Run Code Online (Sandbox Code Playgroud)

现在,这在打字时效果很好.但是,当尝试删除时,它仍然以破折号输入,因此用户无法删除其中一个短划线(删除破折号会导致长度为2或5,然后再次运行该子,添加另一个破折号).有关更好的方法的任何建议吗?

excel user-interface vba excel-vba

31
推荐指数
4
解决办法
18万
查看次数

标签 统计

excel ×1

excel-vba ×1

user-interface ×1

vba ×1