在VBA文本框中格式化MM/DD/YYYY日期我正在尋找一種將VBA文本框中的日期自動格式化為MM/DD/YYYY格式的方法,我希望它在用戶輸入時(shí)格式化。例如,一旦用戶輸入第二個數(shù)字,程序?qū)⒆詣虞斎搿?”。現(xiàn)在,我使用以下代碼完成了這個工作(以及第二個破折號):Private Sub txtBoxBDayHim_Change()
If txtBoxBDayHim.TextLength = 2 or txtBoxBDayHim.TextLength = 5 then
txtBoxBDayHim.Text = txtBoxBDayHim.Text + "/"End Sub現(xiàn)在,這在打字時(shí)效果很好。然而,當(dāng)嘗試刪除時(shí),它仍然進(jìn)入破折號,因此用戶不可能刪除其中一個破折號(刪除一個破折號會導(dǎo)致長度為2或5,然后再運(yùn)行,添加另一個破折號)。有什么更好的方法嗎?
3 回答

郎朗坤
TA貢獻(xiàn)1921條經(jīng)驗(yàn) 獲得超9個贊
'add this to your userform or make it a static variable if it is not part of a userformprivate oldLength as integerPrivate Sub txtBoxBDayHim_Change() if ( oldlength > txboxbdayhim.textlength ) then oldlength =txtBoxBDayHim.textlength exit sub end if If txtBoxBDayHim.TextLength = 2 or txtBoxBDayHim.TextLength = 5 then txtBoxBDayHim.Text = txtBoxBDayHim.Text + "/" end if oldlength =txtBoxBDayHim.textlengthEnd Sub
添加回答
舉報(bào)
0/150
提交
取消