Excel - Makro erstellen: 2 Werte per Scanner eingegeben, dann in die nächste Zeile springen

_doc_

Ensign
Registriert
März 2005
Beiträge
136
Hallo zusammen,

ich benötige ein Makro, habe aber keinen Plan wie ich das anstellen soll.

Es müssen 2 Werte per Barcode-Scanner eingegeben werden. Nach der Eingabe in Spalte A muss nach B gesprungen werden. Es sollen also nur Spalte A und B mit Daten gefüttert werden. Nach der Eingabe des zweiten Werts muss in die nächste Zeile/Spalte A gesprungen werden. Soll dann immer so weitergehen.

Geht das?

Vielen Dank im Voraus!

Gruß,
Doc
 
Wenn du Spalte A und B markierst, springt der Cursor standardmäßig immer von A nach B und dann in die nächste Zeile.

Also einfach A:B markieren, und dann fröhlich scannen.
 
Tut er eben nicht. Nach dem ersten Scan springt der Cursor in die nächste Zeile in Spalte A.
Ggf. ist der Scanner so programmiert?🤷‍♀️
 
Es kommt darauf an, wie der Scanner sich nach der Eingabe verhaelt oder wie es im Treiber eingestellt ist.
In erster Linie ist ein Scanner ein normales Eingabegeraet.

Im ersten Schritt würde ich alle Zellen bis auf Spalte A und B ueber den Blattschutz sperren.
Dann hinge es vom Scanner ab:
Wenn nachdem einscannen des Codes die Position sich nicht aendert oder in die naechste Zeile gesprungen wird:
Ueber Change-Event ein "Tab" forcieren.
Ggf. laesst sich auch im Treiber einstellen, dass nach jeder Eingabe ein "Tab" Ausgefuehrt wird, dann wird kein Makro benoetigt.
Damit wuerde die Eingabe so aussehen: A1 -> B1 -> A2 -> B2 -> ...

Das waere erst mal die einfachste Loesung, die mir einfallen wuerde.
Alternativ: Beide Werte untereinander einscannen und anschließend per Formel in zwei Spalten aufteilen.

Der Rest erfordert mehr VBA-Kenntnisse.
 
Ja, Barcode-Scanner können so eingestellt werden. Schimpft sich Terminator oder Steuerzeichen.
Hierzu das Handbuch hinzuziehen.
So funktioniert es bei uns:
Barcode für 'Programmierung starten' scannen > gewünschtes Verhalten/Steuerzeichen/Terminator wählen > Barcode für 'Programmierung speichern' scannen > Fertig.
 
  • Gefällt mir
Reaktionen: Caspian DeConwy
Hab die Lösung in einem anderen Forum bekommen.
Wer das mal brauchen sollte:

Ins Codefenster des Blattes:
(Rechtsklick auf Blatt-Reiter > "Code anzeigen")


Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells(1, 1).Column = 1 Then
Target.Cells(1, 1).Offset(, 1).Select
ElseIf Target.Cells(1, 1).Column = 2 Then
Target.Cells(1, 1).Offset(1, -1).Select
End If
End Sub
 

Ähnliche Themen

Zurück
Oben