Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Barcode scannen

Betrifft: Barcode scannen von: Groby
Geschrieben am: 02.10.2020 12:12:33

Guten Tag,

erstmal sorry falls das Thema hier schon mal behandelt wurde, ich habs leider nicht gefunden.

Also jetzt zu meinem Problem:

Ich habe bestimmte Gegenstände eingelagert und diese in eine Excel-Tabelle eingetragen. Wenn ich Gegenstände entnehme scanne ich diese mit einem Barcode-Scanner auf einem anderen Excel-Arbeitsblatt in der Spalte A der Reihe nach ein.

Jetzt hätte ich gerne, dass wenn die Gegenstände eingescannt werden, dass diese automatisch aus der Tabelle rausgelöscht werden.


Ich hoffe ich konnte mein Problem vernünftig darlegen. :-)

Danke schon mal für die Hilfe.

Achso, ich muss noch dazu sagen, ich habe wirklich nur Excel-Grundkenntnisse.

Betrifft: AW: Barcode scannen
von: Groby
Geschrieben am: 02.10.2020 12:14:32

https://www.herber.de/bbs/user/140589.xlsx

Betrifft: AW: Barcode scannen
von: Günther
Geschrieben am: 02.10.2020 12:47:03

Moin,
ich kann mir denken, dass das Problem lösbar ist.
Allerdings sollte dann der eingescannte Artikel (Gegenstand5) auch tatsächlich im Lager sein und die Lagerliste müsste nicht schön sondern zweckmäßig sein: 2 Spalten und durchgängig, also ohne Lücken. Ach ja, Stichwort Power Query!
 
Gruß
Günther  |  mein Excel-Blog

Betrifft: AW: Barcode scannen
von: UweD
Geschrieben am: 02.10.2020 13:56:51

Hallo

- Rechtsclick auf den Tabellenblattreiter von Tabelle1
- Code anzeigen
- Code rechts reinkopieren

Private Sub Worksheet_Change(ByVal Target As Range)
    On Error GoTo Fehler
    Const APPNAME = "Worksheet_Change"
    Dim TB As Worksheet, Zeile As Integer, C
    If Target.Row > 1 And Target.Count = 1 Then
        If Not Intersect(Target, Columns(1)) Is Nothing Then
            Set TB = Sheets("Tabelle2")
            
            Set C = TB.Cells.Find(Target.Value, LookIn:=xlValues)
            
            Application.EnableEvents = False
            
            If Not C Is Nothing Then
                Target.Offset(0, 1) = Date 'Datum eintragen
                TB.Rows(C.Row).Delete xlUp 'Zeile löschen
            Else
                MsgBox Target.Value & ":  Nicht gefunden"
                Target.ClearContents 'Eingabe wieder löschen
            End If
        
        End If
    End If
    '*** Fehlerbehandlung
    Err.Clear
Fehler:
    Application.EnableEvents = True
    If Err.Number <> 0 Then MsgBox "Fehler in Sub """ & APPNAME & """" & vbCrLf _
        & "Fehlernummer: " & Err.Number & vbLf & Err.Description: Err.Clear
End Sub
Änderungen in Spalte A werden automatisch geprüft

LG UweD

Betrifft: AW: Barcode scannen
von: Groby
Geschrieben am: 08.10.2020 10:01:49

Hallo Uwe,

vielen Dank für deine Hilfe

Betrifft: AW: Barcode scannen
von: Groby
Geschrieben am: 08.10.2020 11:08:59

Hallo Uwe,

vielen Dank für deine Hilfe. Funktioniert super.
Ich hätte nur eine zusätzliche Frage. Wenn ich den Gegenstand einscanne, wird die Zeile in der Tabelle gelöscht in die der Gegenstand eingetragen wurde. Ist es auch möglich nur die bestimmte Position in der Tabelle (z.B A4 oder B6), in die der Gegenstand eingetragen wurde, zu leeren und nicht die ganze Zeile zu löschen.

LG
Tobias

Betrifft: AW: Barcode scannen
von: UweD
Geschrieben am: 08.10.2020 13:00:20

Hi

anstelle "TB.Rows(C.Row).Delete xlUp 'Zeile löschen"

nimm "C.ClearContents 'Inhalt der Fundstelle löschen"


LG UweD

Betrifft: AW: Barcode scannen
von: Groby
Geschrieben am: 08.10.2020 13:17:04

Hallo,

jetzt klappt es einwandfrei. Vielen Dank nochmals, du hast mir sehr geholfen.

LG