AW: Barcodescanner +Excel Warenverwaltung
06.05.2013 08:58:08
Klaus
Hallo Eugen,
direkt in den Code der Tabelle (rechtsclick auf den Tabellenreiter, dann "Code anzeigen", dann das weiße Fenster) folgendes kopieren:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo hell
Dim lRow As Long
Dim rScan As Range
Dim iColNummern As Integer
'diese Variablen musst du ändern!
Set rScan = Range("A1") 'Scannerfeld = A1
iColNummern = 2 'Warennummern stehen in SPALTE B (B=2, C=3 usw)
'Abbruch bei Mehrfachauswahl
If Selection.Cells.Count > 1 Then Exit Sub
'Selektiere Zelle mit Warennummer
If Target.Address = "$A$1" Then
Application.ScreenUpdating = False
Columns(iColNummern).Select
lRow = Selection.Find(What:=rScan.Value, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False).Row
Cells(lRow, iColNummern).Select
End If
GoTo heaven:
'Fehlerbehandlung: selektiere Scannerzelle, gebe Fehlermeldung aus
hell:
rScan.Select
MsgBox ("Warennummer " & rScan.Value & " nicht gefunden") 'auskommentieren, wenn nicht benötigt
heaven:
'aufräumen
Application.EnableEvents = False
rScan.ClearContents
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub
Mangels Musterdatei musste ich Annahmen treffen. Ich gehe davon aus, dass:
-Zelle A1 immer leer ist
-der Cursor immer auf Zelle A1 steht, wenn du scannen willst
-deine Waren-Nummern in Spalte B stehen
falls eine dieser Annahmen nicht zutrifft, musst du im Makro noch folgende Zeilen anpassen:
Set rScan = Range("A1") 'Scannerfeld = A1
iColNummern = 2 'Warennummern stehen in SPALTE B (B=2, C=3 usw)
Einfacherere, VBA-freie Alternative:
STRG+F
Barcode scannen
Zelle selektiert!
Grüße,
Klaus M.vdT.