Formatieren von MM / TT / JJJJ Datumsangaben im Textfeld in VBA

Ich suche nach einer Möglichkeit, das Datum in einem VBA-Textfeld automatisch in ein MM / TT / JJJJ-Format zu formatieren, und möchte, dass es so formatiert wird, wie der Benutzer es eingibt. Zum Beispiel, wenn der Benutzer das zweite eingibt wird das Programm automatisch ein "/" eingeben. Jetzt habe ich dieses (sowie den zweiten Gedankenstrich) mit dem folgenden Code zum Laufen gebracht:

Private Sub txtBoxBDayHim_Change()
    If txtBoxBDayHim.TextLength = 2 or txtBoxBDayHim.TextLength = 5 then
    txtBoxBDayHim.Text = txtBoxBDayHim.Text + "/"
End Sub

Nun, das funktioniert hervorragend beim Tippen. Wenn Sie jedoch versuchen, einen Gedankenstrich zu löschen, werden die Bindestriche weiterhin eingegeben, sodass der Benutzer keinen Gedankenstrich mehr löschen kann (das Löschen eines Bindestrichs führt zu einer Länge von 2 oder 5, und das Sub wird dann erneut ausgeführt und hinzugefügt ein weiterer Strich). Irgendwelche Vorschläge für einen besseren Weg, dies zu tun?

Antworten auf die Frage(9)

Ihre Antwort auf die Frage