TextBox.SetFocus wird ignoriert
28.08.2018 15:44:47
Max
für eine Datenauswertung habe ich eine Userform mit einem Frame und einer Textbox erstellt. In diese Textbox wird eine Seriennummer per USB Scanner eingetragen. Das letzte Zeichen der Seriennummer ist ein "ENTER". Über dieses "ENTER" wird die Datenauswertung gestartet und die weitere Verwendung des Bauteiles angezeigt. Nachdem die Verwendung (über ein Label) und der Hintergrundfarbe angezeit wurde soll die Textbox neu fokusiert und die Seriennummer markiert werden.
Und das ist der Teil bei dem ich scheitere.
Was ich bis jetzt getestet habe:
Private Sub Textbox_KeyDown ist die Abfrage ob vbKeyReturn gedrückt wurde.
Desweitern wird der KeyCode = 0 gesetzt und die Textbox mit SetFocus fokusiert.
Für die Markierung wird SelStart = 0 und SelLength = Len(Txtbox.Text) gesetzt.
Bis zum KexCode = 0 geht die Programmierung. Danach werden die Befehle ignoriert.
Ein Auszug aus meiner Programmierung
Codeauszug
Private Sub Scanfeld_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If Len(UserForm1.Scanfeld.Value) 16 Then Exit Sub
If KeyCode = vbKeyReturn Then
'Load sanduhr 'die UF Laden --> damit wird UserForm_Initialize aufgerufen und
'sanduhr.Show vbModeless
Call los
'Tasteneingabe zu null seten da sonnst auf das nächte Feld angesprungen wird
KeyCode = 0
With UserForm1.FrameScanfeld
'zum erneuten Scannen die alte Seriennummer markieren
.Scanfeld.SetFocus
.Scanfeld.SelStart = 0
.Scanfeld.SelLength = Len(.Scanfeld.Text)
.Serialnummer = Produktions_Prozesse(0).d_Seriennummer
End With
End If
End Sub