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

郎朗坤
TA貢獻1921條經驗 獲得超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
添加回答
舉報
0/150
提交
取消