Hallo,
ich habe eine UserForm bei der u. a. 4 Textfelder hintereinander stehen. Diese Textfelder sind mit „MaxLength“ maskiert, so dass sie (über die Tab-Reihenfolge) automatisch ins nächste Feld wechseln sobald die max. Länge erreicht wurde. Nach dem 4. Textfeld springt er in das entsprechend (jetzt unwichtige) nächste Steuerelement. So weit, so gut.
Für das 3. Textfeld habe ich jetzt noch eine Exit-Anweisung gegeben. Problem: im Normalfall sollen dort 4 Zeichen gesetzt werden (MaxLength wird per Code gesteuert). Manchmal vergesse ich aber die führende Null einzutippen und gebe nur die 3stellige Zahl ein, die dort rein kommt. Mit diesem Exit-Code prüfe ich, ob der eingegebene Text kürzer ist als .MaxLength. Wenn ja, soll er als Textfeld-Inhalt eine führende Null und den bisherigen Textfeld-Inhalt einfügen. Das führt er auch aus.
Aber: wenn er jetzt die führende Null hinzufügt springt der Focus nach Ausführung des Exit-Codes automatisch auf Steuerelement 5 und nicht - wie erhofft - auf das 4. Textfeld. Wird die Zahl 4stellig eingegeben und er führt den Code nicht aus wird der Focus, wie gewünscht, auf das 4. Textfeld gelegt. Selbst wenn ich eingebe Steuerelement4.SetFocus führt er dies nicht aus (oder er macht eben noch etwas, was ich nicht erkenne).
Wie kann ich den Focus aber auch im Fall der Ergänzung (der führenden Null) auf den Focus des 4. Steuerelementes bringen?
danke im Voraus
LG Tobi@s