Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Datum VBA ,Barcode scannen

Forumthread: Datum VBA ,Barcode scannen

Datum VBA ,Barcode scannen
Rene
Guten Abend ,
Ich habe im Netz folgenden Code gefunden ,Vielen Dank an den Ersteller . die Frage hierzu ist folgende,
Wie kann ich Datum/Zeit in den vorhandenen Code einbinden
".Value = Format(Now(), "dd/mm/yy hh:mm")"?
Nach scannen des Barcodes möchte ich , das Scann zeit / datum ebenfalls mit weggeschrieben wird (in die nächste Spalte ).Hoffe die Frage ist einigermaßen verständlich ,vorab schon mal vielen Dank.
hier der code
Sub AChange(ByVal Target As String)
Dim zCountneu As Long, zCount As Long, Artikel As String
Dim Rx As Range
Worksheets("A").Activate
Artikel = CStr(Target)
zCountneu = Worksheets("A").Cells(Rows.Count, 1).End(xlUp).Row + 1
Set Rx = Worksheets("A").Range("A1")
zCount = PruefeArtikelnr(Artikel)
If zCount > 0 Then
Rx.Offset(zCount - 1, 1).Value = Rx.Offset(zCount - 1, 1).Value + 1
ElseIf Artikel  "" Then
Rx.Offset(zCountneu - 1, 1).Value = 1
Rx.Offset(zCountneu - 1, 0).Value = Artikel
End If
Worksheets("E").Range("D2").Value = ""
Worksheets("E").Activate
Worksheets("E").Range("D2").Select
Application.EnableEvents = True
End Sub
Function PruefeArtikelnr(Artikel$)
Dim Rx As Range
For Each Rx In Worksheets("A").Range("A2:A65000")
If Rx.Value  "" Then
If CStr(Rx.Value) = Artikel Then
PruefeArtikelnr = Rx.Row
Exit For
End If
Else
Exit For
End If
Next
End Function

Sub Zurueck()
Application.EnableEvents = True
End Sub
Schönen Abend noch
Rene
Anzeige

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

Betreff
Benutzer
Anzeige
AW: Datum VBA ,Barcode scannen
01.04.2011 08:01:31
fcs
Hallo Rene,
mit nachfolgender Anpassung wird das Datum/Zeit eingetragen, allerdings als Text.
Alternativ kannst du auch die Spalte C im gewünschten Datums-/Zeitformat formatieren und das aktuelle Datum/Zeit ohne Sekunden eintragen als
CDate(Format(Now(), "YYYY-MM-DD hh:mm"))
In diesem Fall ist der Zelleintrag ein Excel-Zeitwert.
Gruß
Franz
Sub AChange(ByVal Target As String)
Dim zCountneu As Long, zCount As Long, Artikel As String
Dim Rx As Range
Worksheets("A").Activate
Artikel = CStr(Target)
zCountneu = Worksheets("A").Cells(Rows.Count, 1).End(xlUp).Row + 1
Set Rx = Worksheets("A").Range("A1")
zCount = PruefeArtikelnr(Artikel)
If zCount > 0 Then
Rx.Offset(zCount - 1, 1).Value = Rx.Offset(zCount - 1, 1).Value + 1
Rx.Offset(zCount - 1, 2).Value = Format(Now(), "dd/mm/yy hh:mm")
ElseIf Artikel  "" Then
Rx.Offset(zCountneu - 1, 1).Value = 1
Rx.Offset(zCountneu - 1, 0).Value = Artikel
Rx.Offset(zCountneu - 1, 2).Value = Format(Now(), "dd/mm/yy hh:mm")
End If
Worksheets("E").Range("D2").Value = ""
Worksheets("E").Activate
Worksheets("E").Range("D2").Select
Application.EnableEvents = True
End Sub

Anzeige
AW: Datum VBA ,Barcode scannen
06.04.2011 13:39:31
Rene
Hallo Franz
Super Vielen Dank ,klappt prima !
Hierzu noch eine Frage,Wie müßte der code angepasst werden um folgendes zu erreichen?
nach dem wegschreiben in Tabelle "e" soll geprüft werden ob der eintrag vorhanden ist zB.in Tabelle "master" ,und der inhalt aus der jeweiligen Zeile in der Userform mit ausgegeben werden
in etwa so ,Scann Barcode 0001 , prüfen Tabelle Master ,vorhanden ,dann Ausgabe in Userform
"es wurde Barcode 0001 Artikel 1" gescannt
Tabelle Master als Beispiel
A B
0001 Artikel 1
0002 Artikel 2
0003 Artikel 3
Vielen Dank schon mal für eure Hilfe
Anzeige
AW: Datum VBA ,Barcode scannen
06.04.2011 23:46:40
fcs
Hallo Rene,
ich hab dir eine zusätzliche Routine für die Suche der Artikelnummer im Blatt "Master" und Ausgabe einer MsgBox-Meldung erstellt.
Falls die Find-Methode nicht funktioniert, dann kannst du die Zeile mit der Artikelnummer im Blatt "Master" genau so ermitteln, wie im Blatt A.
Falls du tatsächlich ein Userform verwendest, dann muss die Variable mit der Zeilennummer als Public deklarieren und in der Initialise- oder Activate-Prozedur des Userforms die Werte aus dem Blatt "Master" den entsprechenden Steuerelementen zuweisen.
Gruß
Franz
Sub AChange(ByVal Target As String)
Dim zCountneu As Long, zCount As Long, Artikel As String
Dim Rx As Range
Worksheets("A").Activate
Artikel = CStr(Target)
zCountneu = Worksheets("A").Cells(Rows.Count, 1).End(xlUp).Row + 1
Set Rx = Worksheets("A").Range("A1")
zCount = PruefeArtikelnr(Artikel)
If zCount > 0 Then
Rx.Offset(zCount - 1, 1).Value = Rx.Offset(zCount - 1, 1).Value + 1
Rx.Offset(zCount - 1, 2).Value = Format(Now(), "dd/mm/yy hh:mm")
ElseIf Artikel  "" Then
Rx.Offset(zCountneu - 1, 1).Value = 1
Rx.Offset(zCountneu - 1, 0).Value = Artikel
Rx.Offset(zCountneu - 1, 2).Value = Format(Now(), "dd/mm/yy hh:mm")
End If
Worksheets("E").Range("D2").Value = ""
Worksheets("E").Activate
Worksheets("E").Range("D2").Select
Application.EnableEvents = True
Call Suchen(Artikel) 'Artikel in Blatt "Master" suchen
End Sub
Function PruefeArtikelnr(Artikel$)
Dim Rx As Range
With Worksheets("A")
'in Spalte A Artkel-Nrn vergleichen
For Each Rx In .Range(.Cells(2, 1), .Cells(.Rows.Count, 1).End(xlUp))
If CStr(Rx.Value) = Artikel Then
PruefeArtikelnr = Rx.Row
Exit For
End If
Next
End With
End Function
Private Sub Suchen(sArtikelNr As String)
Dim Zelle As Range, wksMaster As Worksheet, Zeile As Long
Set wksMaster = Worksheets("Master")
With wksMaster
'suche Zelle mit ArtikelNr in Spalte A (1)
Set Zelle = .Columns(1).Find(what:=sArtikelNr, LookIn:=xlValues, lookat:=xlWhole)
If Zelle Is Nothing Then
MsgBox "Artikel-Nr.: " & sArtikelNr & vbLf & "keine Daten vorhanden", _
vbOKOnly + vbInformation, _
"Artikel einscannen - Daten in Blatt " & .Name
Else
Zeile = Zelle.Row
MsgBox "Artikel-Nr.: " & sArtikelNr & vbLf _
& "Artikelbezeichnung: " & .Cells(Zeile, 2) & vbLf _
& "Preis: " & .Cells(Zeile, 3).Text, _
vbOKOnly + vbInformation, _
"Artikel einscannen - Daten in Blatt " & .Name
End If
End With
End Sub

Anzeige
;
Anzeige

Infobox / Tutorial

Barcode scannen und Datum in Excel einfügen


Schritt-für-Schritt-Anleitung

  1. Excel öffnen: Starte Microsoft Excel und öffne das Arbeitsblatt, in das du die Barcode-Daten einfügen möchtest.

  2. VBA-Editor öffnen: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Modul erstellen: Klicke auf Einfügen > Modul, um ein neues Modul zu erstellen.

  4. Code eingeben: Füge den folgenden VBA-Code in das Modul ein. Dieser Code ermöglicht das Scannen von Barcodes und fügt das aktuelle Datum sowie die Uhrzeit in die nächste Spalte ein:

    Sub AChange(ByVal Target As String)
       Dim zCountneu As Long, zCount As Long, Artikel As String
       Dim Rx As Range
       Worksheets("A").Activate
       Artikel = CStr(Target)
       zCountneu = Worksheets("A").Cells(Rows.Count, 1).End(xlUp).Row + 1
       Set Rx = Worksheets("A").Range("A1")
       zCount = PruefeArtikelnr(Artikel)
       If zCount > 0 Then
           Rx.Offset(zCount - 1, 1).Value = Rx.Offset(zCount - 1, 1).Value + 1
           Rx.Offset(zCount - 1, 2).Value = Format(Now(), "dd/mm/yy hh:mm")
       ElseIf Artikel <> "" Then
           Rx.Offset(zCountneu - 1, 1).Value = 1
           Rx.Offset(zCountneu - 1, 0).Value = Artikel
           Rx.Offset(zCountneu - 1, 2).Value = Format(Now(), "dd/mm/yy hh:mm")
       End If
       Worksheets("E").Range("D2").Value = ""
       Worksheets("E").Activate
       Worksheets("E").Range("D2").Select
       Application.EnableEvents = True
    End Sub
    
    Function PruefeArtikelnr(Artikel$)
       Dim Rx As Range
       For Each Rx In Worksheets("A").Range("A2:A65000")
           If Rx.Value <> "" Then
               If CStr(Rx.Value) = Artikel Then
                   PruefeArtikelnr = Rx.Row
                   Exit For
               End If
           Else
               Exit For
           End If
       Next
    End Function
  5. Barcode scannen: Verwende einen Barcode-Scanner, um die Artikelnummern zu scannen. Diese werden in die Tabelle "A" eingetragen, und das aktuelle Datum sowie die Uhrzeit werden in die nächste Spalte eingefügt.


Häufige Fehler und Lösungen

  • Barcode wird nicht erkannt: Stelle sicher, dass der Barcode-Scanner korrekt konfiguriert ist und die richtige Art von Barcode unterstützt wird. Überprüfe die Verbindung und die Einstellungen des Scanners.

  • Datum wird als Text angezeigt: Wenn das Datum nicht im gewünschten Format angezeigt wird, formatiere die entsprechende Spalte in Excel als Datum. Gehe zu Start > Zahlenformat > Datum.


Alternative Methoden

  • QR Code scannen und in Excel einfügen: Du kannst auch QR-Codes scannen, indem du einen entsprechenden QR-Code-Scanner verwendest. Der Code zum Einfügen in Excel bleibt gleich, die Daten werden jedoch aus dem QR-Code extrahiert.

  • Verwendung von Excel Barcode Scanner: Es gibt spezielle Excel-Add-Ins, die das Scannen von Barcodes erleichtern und die Verwaltung von Artikelnummern automatisieren.


Praktische Beispiele

  1. Scannen einer Artikelnummer: Wenn du 0001 scannst, wird diese Nummer in Spalte A der Tabelle "A" eingetragen. In Spalte B wird die Anzahl der Scans erhöht und in Spalte C wird das aktuelle Datum/Zeit eingetragen.

  2. Ausgabe in Userform: Du kannst die Ausgabe der gescannten Artikelnummer in einer Userform anzeigen. Hier ist ein Beispiel für die MsgBox-Ausgabe bei erfolgreicher Prüfung in der "Master"-Tabelle:

    Private Sub Suchen(sArtikelNr As String)
       Dim Zelle As Range, wksMaster As Worksheet, Zeile As Long
       Set wksMaster = Worksheets("Master")
       Set Zelle = wksMaster.Columns(1).Find(what:=sArtikelNr, LookIn:=xlValues, lookat:=xlWhole)
       If Zelle Is Nothing Then
           MsgBox "Artikel-Nr.: " & sArtikelNr & vbLf & "keine Daten vorhanden", vbOKOnly + vbInformation, "Artikel einscannen"
       Else
           Zeile = Zelle.Row
           MsgBox "Artikel-Nr.: " & sArtikelNr & vbLf & "Artikelbezeichnung: " & wksMaster.Cells(Zeile, 2), vbOKOnly + vbInformation, "Artikel gefunden"
       End If
    End Sub

Tipps für Profis

  • Barcode Scanner Preis ermitteln: Überlege, verschiedene Scanner-Preise zu vergleichen, um das beste Angebot zu finden. Oftmals bieten spezielle Händler günstigere Preise für Barcode-Scanner an.

  • VBA optimieren: Du kannst den VBA-Code optimieren, indem du Variablen besser verwaltest und den Code modularer gestaltest. Dies erleichtert die Wartung und Erweiterung der Funktionen.


FAQ: Häufige Fragen

1. Wie kann ich mehrere Barcodes hintereinander scannen?
Nutze einfach den Barcode-Scanner im kontinuierlichen Modus. Der Scanner sendet nacheinander alle gescannten Codes in die Excel-Zelle.

2. Funktioniert dieser Code mit allen Excel-Versionen?
Ja, der VBA-Code sollte in den meisten modernen Excel-Versionen (Excel 2010 und höher) funktionieren. Stelle sicher, dass du die Makros aktiviert hast.

3. Kann ich den Code anpassen, um weitere Informationen zu speichern?
Ja, du kannst den Code leicht anpassen, um zusätzliche Spalten für weitere Informationen wie Preis oder Beschreibung hinzuzufügen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige