Hallo Zusammen,
ich bin der neue und aus purer Verzweiflung hier nun angemeldet. Ich hab auch schon einige Threads durchsucht, aber meine Lösung noch nicht gefunden.
Kurz zu mir: Meine Kenntnisse mit VBA sind zwischen nicht und gar nicht vorhanden und ich habe mir den folgenden Code Mühselig zusammen gegoogelt und weitestgehend macht er auch, was ich will.
Was will ich machen?
Wir haben in der Firma Mietarbeitskleidung - das einzige was vom Dienstleister regelmäßig und zuverlässig kommt, ist die Rechnung. Nun würde ich den Ausgang der Schmutzwäsche und den Eingang der sauberen Wäsche gerne Buchen, damit wir die Abrechnung gegenprüfen können. Die Kleidungsstücke haben einen Barcode und mit einem Handbarcodescanner kann ich die Kleidungsstücke scannen.
Das o.g. Script soll diesen Barcode in der Range A2:A999 suchen und finden. Wenn der BC nicht gefunden wird, soll die Meldung kommen, wenn er gefunden wird, mittels zuvor gewählter Checkbox ein IN bzw. OUT und das Datum in die nebenstehenden Spalten schreiben.
Das ganze funktioniert soweit wirklich hervorragend, allerdings hat es einen Haken. Gebe ich die BC-Nummer händisch ein und bestätige mittels Klick auf meinen Button "Absenden" ("Button_Take_Click"), führt er das Script aus und springt wie gewollt anschließend wieder in die "TextBox1", wo der Inhalt Markiert wird, dass sofort überschrieben werden kann.
Nun möchte ich natürlich nicht jedes Mal händisch mit der Maus auf Absenden klicken, sondern einfach mit der Eingabetaste bestätigen - Nichts anderes macht übrigens der Barcodescanner, als nach der Übertragung der Nummer ein "LF" (Line Feed, also Enter) zu senden.
Hierzu habe ich mir mit dem folgenden Code beholfen:
Auch das Funktioniert an für sich gut, allerdings funktioniert dann der folgende Part nicht mehr:
Das Formular verhält sich, als hätte man den Tabulator gedrückt.
Hätte hier jemand für mich einen Lösungsansatz den ich versuchen könnte?
Ich bedanke mich vielmals im Voraus.
Viele Grüße
ein verzweifelter Manuel =)
Test.xlsm (Größe: 29,28 KB / Downloads: 0)
ich bin der neue und aus purer Verzweiflung hier nun angemeldet. Ich hab auch schon einige Threads durchsucht, aber meine Lösung noch nicht gefunden.
Kurz zu mir: Meine Kenntnisse mit VBA sind zwischen nicht und gar nicht vorhanden und ich habe mir den folgenden Code Mühselig zusammen gegoogelt und weitestgehend macht er auch, was ich will.
Code:
Private Sub Button_Take_Click()
Set finden = Range("A2:A999").Find(What:=TextBox1)
If finden Is Nothing Then
MsgBox "Nichts gefunden"
Exit Sub
End If
If Eingang Then
Range("$C" & finden.Row).Value = "in"
Range("$D" & finden.Row).Value = Text_Datum
With TextBox1
.SetFocus
.SelStart = 0
.SelLength = 8
End With
End If
If Ausgang Then
Range("$C" & finden.Row).Value = "out"
Range("$D" & finden.Row).Value = Text_Datum
With TextBox1
.SetFocus
.SelStart = 0
.SelLength = 8
End With
End If
Was will ich machen?
Wir haben in der Firma Mietarbeitskleidung - das einzige was vom Dienstleister regelmäßig und zuverlässig kommt, ist die Rechnung. Nun würde ich den Ausgang der Schmutzwäsche und den Eingang der sauberen Wäsche gerne Buchen, damit wir die Abrechnung gegenprüfen können. Die Kleidungsstücke haben einen Barcode und mit einem Handbarcodescanner kann ich die Kleidungsstücke scannen.
Das o.g. Script soll diesen Barcode in der Range A2:A999 suchen und finden. Wenn der BC nicht gefunden wird, soll die Meldung kommen, wenn er gefunden wird, mittels zuvor gewählter Checkbox ein IN bzw. OUT und das Datum in die nebenstehenden Spalten schreiben.
Das ganze funktioniert soweit wirklich hervorragend, allerdings hat es einen Haken. Gebe ich die BC-Nummer händisch ein und bestätige mittels Klick auf meinen Button "Absenden" ("Button_Take_Click"), führt er das Script aus und springt wie gewollt anschließend wieder in die "TextBox1", wo der Inhalt Markiert wird, dass sofort überschrieben werden kann.
Nun möchte ich natürlich nicht jedes Mal händisch mit der Maus auf Absenden klicken, sondern einfach mit der Eingabetaste bestätigen - Nichts anderes macht übrigens der Barcodescanner, als nach der Übertragung der Nummer ein "LF" (Line Feed, also Enter) zu senden.
Hierzu habe ich mir mit dem folgenden Code beholfen:
Code:
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then
Button_Take_Click
End If
End Sub
Auch das Funktioniert an für sich gut, allerdings funktioniert dann der folgende Part nicht mehr:
Code:
With TextBox1
.SetFocus
.SelStart = 0
.SelLength = 8
Das Formular verhält sich, als hätte man den Tabulator gedrückt.
Hätte hier jemand für mich einen Lösungsansatz den ich versuchen könnte?
Ich bedanke mich vielmals im Voraus.
Viele Grüße
ein verzweifelter Manuel =)
Test.xlsm (Größe: 29,28 KB / Downloads: 0)