Live-Forum - Die aktuellen Beiträge
Datum
Titel
18.04.2024 18:04:29
18.04.2024 16:33:24
Anzeige
Archiv - Navigation
1380to1384
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Textbox und Barcode Scanner

Textbox und Barcode Scanner
05.09.2014 08:02:29
Markus
Guten Morgen ich habe folgendes Problem,
ich hätte gerne über einen Barcode Scanner meine Lager Tabelle gepflegt.
Leider hab ich das Ergebnis bis jetzt nur bedingt umsetzen können.
Es sollte so sein das über einen Option Button hinzufügen oder entnehmen angewählt wird und dann ein Barcode gescannt wird die ID Nr. aus dem Barcode (beginnt mit 10001)wird in Eine versteckte Textbox in der Userform geschrieben und soll in Spalte U gesucht werden und dann aus derselben Zeile in Spalte N der Bestand geändert werden.
Falls in Spalte N "Alt" steht soll eine Msg Box mit einer Nachricht aufgehen.
Leider bekomme ich es nicht hin das In Spalte U gesucht wird, im Moment Zähle ich die Zeilen, dass funktioniert allerdings nur Solange bis ein neuer Artikel eingepflegt wird.
Ich hoffe mir kann jemand Helfen.
Mfg
Markus
p.s. mein bisheriger Code
Option Explicit
Dim barc As Integer
Dim entn As Integer
Private Sub OptionButton1_Click()
TextBox1.SetFocus
End Sub
Private Sub OptionButton2_Click()
TextBox1.SetFocus
End Sub
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
TextBox1.SetFocus
If KeyCode = 13 Then
barc = TextBox1.Value
TextBox1.Text = ""
With ActiveCell
End With
Sheets("Regalordnung").Activate
If Tabelle2.Cells(barc + 2, 14).Value = "Alt" Then
MsgBox "Altes Bauteil kein Bestand hinterlegt"
Exit Sub
End If
If OptionButton1.Value = True Then
Tabelle2.Cells(barc + 2, 14).Value = Tabelle2.Cells(barc + 2, 14).Value - Val(1)
If Tabelle2.Cells(barc + 2, 14).Value = 0 Then
MsgBox "Achtung Bestand aufgebraucht! Ersatz bestellen", , "Warnung"
End If
End If
If OptionButton2.Value = True Then
Tabelle2.Cells(barc + 2, 14).Value = Tabelle2.Cells(barc + 2, 14).Value + Val(1)
End If
End If
End Sub


Private Sub CommandButton1_Click()
Unload Me
End Sub

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Textbox und Barcode Scanner
05.09.2014 11:46:18
fcs
Hallo Markus,
zum Einlesen des per Barcode in eine Textbox kann ich dir nichts schreiben.
Soweit ich weiss schreibt die Scanner-Software den gescannten Wert meistens in eine Zelle in xcel.
Den Code hab ich jetzt mal so angepasst, dass der in Textbox1 eingegebene Barcode/ID nach drücken der Enter-Taste in Spalte U gesucht wird und abhängig vom Ergebnis bestimmte Aktionen ausgeführt werden.
Das muss du dann ggf. noch an deine Tabelle(n) anpassen.
Gruß
Franz
Option Explicit
Dim barc As Long
Dim entn As Integer
Dim Zeile As Long
Private Sub OptionButton1_Click()
TextBox1.SetFocus
End Sub
Private Sub OptionButton2_Click()
TextBox1.SetFocus
End Sub
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, _
ByVal Shift As Integer)
Dim wksRegal As Worksheet, Zelle As Range, Zeile_1 As Long
TextBox1.SetFocus
If KeyCode = 13 Then
barc = TextBox1.Value
Set wksRegal = Sheets("Regalordnung")
With wksRegal
'letzte Zeile mit Daten in Spalte U
Zeile_1 = 2 'Nummer der Zeile mit Spaltentiteln/Zeile oberhalb der 1. ID-Nummer
Zeile = .Cells(.Rows.Count, 21).End(xlUp).Row
Set Zelle = Nothing
If Zeile > Zeile_1 Then 'es gibt schon ID-Nummern
Set Zelle = .Range(.Cells(Zeile_1 + 1, 21), .Cells(Zeile, 21)).Find(what:=barc, _
LookIn:=xlValues, lookat:=xlWhole)
Else
Zeile = Zeile_1
End If
If Zelle Is Nothing Then
'ID existiert noch nicht
Zeile = Zeile + 1
If MsgBox("ID """ & barc & """ ist noch nicht vorhanden. ID jetzt anlegen?", _
vbQuestion + vbOKCancel, "Unbekannte ID") = vbOK Then
.Cells(Zeile, 21).Value = barc
.Cells(Zeile, 14).Select
.Cells(Zeile, 14).Value = Application.InputBox("Anfangsbestand:", "Neue ID", 1, _
Type:=1)
Else
Exit Sub
End If
Else
'ID-gefunden
Zeile = Zelle.Row
Cells(Zeile, 14).Select
If .Cells(Zeile, 14).Value = "Alt" Then
MsgBox "Altes Bauteil kein Bestand hinterlegt"
Else
If OptionButton1.Value = True Then
.Cells(Zeile, 14).Value = .Cells(Zeile, 14).Value - 1
If .Cells(Zeile, 14).Value = 0 Then
MsgBox "Achtung Bestand aufgebraucht! Ersatz bestellen", , "Warnung"
End If
ElseIf OptionButton2.Value = True Then
.Cells(Zeile, 14).Value = .Cells(Zeile, 14).Value + 1
Else
MsgBox "Es wurde keine der Optionen Entnehmen/Einlagern gewählt!"
End If
End If
End If
TextBox1.Text = ""
End With
End If
End Sub
Private Sub CommandButton1_Click()
Unload Me
End Sub

Anzeige
AW: Textbox und Barcode Scanner
05.09.2014 12:28:16
Markus
Hallo Franz,
danke erstmal für die schnelle Hilfe.
Der Scanner schreibt dahin wo der Cursor gerade Aktiv ist und daher in die Textbox wenn man die Userform startet.
Soweit funktioniert fast alles perfekt komischerweise will er aber immer bei den ID´s mit mit 4 und 9 am ende (10004, 1009, 10014 usw.) eine neue ID anlegen

AW: Textbox und Barcode Scanner
05.09.2014 13:53:44
fcs
Hallo Markus,
sas Problem mit Endziffer 4 und 9 kann ich jetzt nicht nachvollziehen.
Möglichkeit 1:
Der Scanner produziert beim Einlesen von 4 und 9 noch iregendwelche myteriösen Zeichen.
Eher unwahrscheinlich, denn dann müsste es Fehlermeldungen beim Zuweisen des Textbox-Inhalts an die Variable barc geben.
Möglichkeit 2: In der Tabelle sind in Spalte U bei den Einträgen mit Endziffer 4 und 9 noch unsichtbare Zeichen enthalten (z.B. führende/nachgetellte Leerzeichen).
In diesem Fall ersetze via Suchen/Ersetzen die Leerzeichen in dem Zellbereich der ID-Nummern durch nichts.
Möglichkeit 3: In der Tabelle ist in Spalte U bei den Einträgen mit Endziffer 4 und 9 Buchstabe O statt 0 eingetragen.
Weiter reicht meine Phantasie bei diesem Problem nicht.
Gruß
Franz
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige