Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

UserForm TextBox nach Eingabe nicht verlassen
#1
Hallo zusammen,

ich programmiere gerade eine Geräteverwaltung. Ich habe eine Anzahl X an Gerätschaften, die ich jeweils mit einem BarCode-Aufkleber versehe und die ich verleihen möchte.
Ziel ist es, mit dem Barcode-Scanner die Geräte nacheinander abzuscannen und sie damit auf den Staus "ausgeliehen" zu setzen.
Das Ganze wird deutlich komplexer, aber für die Fragestellung ist diese Info erst einmal ausreichend. Wichtig ist noch zu erwähnen, dass ich einen Barcode-Scanner verwende, der scheinbar nach der Eingabe immer automatisch noch eine Eingabetaste mit übermittelt.

Ich habe ein UserForm mit einer TextBox. Diese ist aktiv. Ich scanne meinen Barcode ein und es wird der Klartext dann in das Feld geschrieben. Per VBA nehme ich in der Private Sub TextBox1_Exit -Prozedur diesen String, speichere ihn in eine Zelle im Tabellenblatt und leere wieder die Textbox. 
Ich möchte jetzt nahtlos das nächste Gerät scannen können, aber das Problem ist, dass der Cursor nach dem ersten Scannen immer die TextBox verlässt und ich immer wieder reinklicken müsste.

Auch mit TextBox_ID.SetFocus in der Exit-Prozedur klappt das nicht. Auch nicht ,wenn ich die Exit-Prozedur vorzeitig mit Exit Sub verlasse.

Hat jemand einen heißen Tipp?

Ich danke vielmals!
Rub
Antworten Top
#2
Hallo Rub,

Code:
Private Sub TextBox_ID_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
  If KeyCode = 13 Then
    With Tabelle6.Cells(Rows.Count, 1).End(xlUp)
      .Offset(1, 0).Value = TextBox_ID
      .Offset(1, 1).Value = Now
    End With
    TextBox_ID = ""
    KeyCode = 0
  End If
End Sub

Gruß Uwe
Antworten Top
#3
Super gut, funktioniert!
Danke!!
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste