Wenn die Eingabedaten des Anwenders von der Anwendung geprüft werden, sollte bei negativem Prüfausgang eine entsprechende Fehlermeldung erzeugt und die fehlerhafte Eingabe im Textfeld markiert werden, damit der Anwender gleich weiß, wo eine Änderung erfolgen soll.
Ein solcher Rücksprung in das entsprechende Textfeld kann mit folgenden Codezeilen erfolgen:
Textbox1.GetFocus
TextBox1.SelStart = 0
TextBox1.SelLength = 100
Zunächst muß das Steuerelement den Fokus erhalten, dann wird das Startzeichen für die Markierung vorgegeben und dann die maximale Anzahl der Zeichen, die markiert werden sollen. Die Anzahl der Zeichen darf geringer sein als angegeben.
Abbildung 198, Text gezielt markieren
Private Sub CommandButton1_Click()
If Len(TextBox1.Text) > 5 Then
MsgBox "Text darf max. 5 Zeichen lang sein, bitte korrigieren!"
TextBox1.SetFocus
TextBox1.SelStart = 5 ’ Startpunkt wird gekennzeichnet
TextBox1.SelLength = 100 ’Länge wird selektiert
Exit Sub
End If
Unload Me
End Sub
In obigem Beispiel wird die Eingabe in das Textfeld auf Einhaltung der Maximallänge geprüft.
Ist der Text zu lang, wird der überschüssige Textanteil
markiert, so dass der Anwender bequem korrigieren kann. Die Prozedur wird
verlassen, ohne dass die Form geschlossen wird.
Erst wenn die Eingabe korrekt
ist, wird die Form mit unload me geschlossen.
Beispielmappe Textbox, Text gezielt markieren.xlsm