3.1k Aufrufe
Gefragt in Tabellenkalkulation von
Hallo liebe Supportnet-Gemeinde,

ich stehe vor einem Problem und hoffe Ihr könnt mir da weiterhelfen.
Ich möchte mit Excel eine Prüfung von Barcodes durchführen.
Dafür habe ich eine Zelle für die Auswahl/Eingabe des Referenzbarcodes vorgesehen und eine weitere, in das dann die Barcodes hineingescannt werden können, die es zu prüfen gilt.
Problemstellung ist hier, dass defekte Barcodes erkannt werden sollen.
Durch ein kleines Macro wird ein Popup angezeigt, wenn die Referenzzelle leer ist, aber trotzdem versucht wird, in die Prüfzelle was einzugeben oder zu scannen.
Mit einer bedingten Formatierung habe ich noch eine farbige Unterscheidung der Prüfzelle in den Zuständen leer, gleich und ungleich zur Referenzzelle erstellt.
Das Blatt ist geschützt. Somit stehen nur zwei Zellen zur Eingabe zur Verfügung.

Mein Problem ist jetzt folgendes:
Wie bekomme ich es hin, dass nach einem Scan die aktive Zelle wieder die Prüfzelle und nicht die Referenzzelle ist?
Sieht jemand eine Möglichkeit eine Art Logdatei zu führen, wenn nach einem Scan die Prüfzelle rot, also ungleich der Referenzzelle, ist? Kann man irgendwie mitzählen, wie oft in die Prüfzelle eine Eingabe erfolgt ist (Counter)?

Ich hoffe ich habe mich nicht so umständlich ausgedrückt und Ihr habt für mich ein paar Tips, ob oder wie man soetwas realisieren kann.

Viele Grüsse und schon mal vielen Dank für Eure Unterstützung

Andy

6 Antworten

0 Punkte
Beantwortet von kjg17 Profi (34.4k Punkte)
Moin Andy,

ich glaube, das kann man auch anders angehen.

Barcode einscannen und in einem Zahl-Feld ohne Dezimalstellen ausgeben lassen.
Davon die ersten 12 Stellen (also ohne die Prüfziffer bei EAN13) in einem weiteren Feld ausgeben lassen.
Aus diesem Wert wieder die vollständige 13-stellige EAN berechnen lassen und mit dem eingescannten Barcode vergleichen.

Bei dieser Variante entfällt die Eingabe eines Referenzwertes, da dieser ja durch Neuberechnung auf der Grundlage der ersten 12 Stellen ermittelt wird. Ein geeignetes Scipt habe ich (klick-->) HIER gefunden.

Das Script ließe sich bestimmt auch noch so so umbauen, dass es von sich aus nur die ersten 12 Stellen des eingescannten Barcodes verwendet, aber da stecke ich nicht drin. Wenn du grundsätzlich auch so vorgehen würdest, findet sich hier aber bestimmt noch wer, der dir dabei weiterhelfen könnte

Gruß
Kalle
0 Punkte
Beantwortet von
Hallo Kalle,

vielen lieben Dank für Deine schnelle Antwort und den Lösungsansatz.
Das Problem dabei ist allerdings, dass die Integrität des Barcodes zwar wichtig ist, das richtige Etikett aber in dem Fall auch.
Ich habe mehrere Muster mit unterschiedlichen Barcode PDF417.
Dann habe ich Rollen mit Barcodes von je einer Sorte pro Rolle. Jetzt würde ich gerne die Barcodes auf der Rolle abscannen und prüfen, ob sie identisch mit dem Muster sind. Da ich nicht sicher sein kann, dass die Rolle die richtige ist, brauche ich die Referenz. Damit kann ich sicherstellen, dass es die richtige Rolle ist, die ich gerade scanne.

Meinst Du da gibt es eine Lösung?

Viele Grüsse

Andy
0 Punkte
Beantwortet von kjg17 Profi (34.4k Punkte)
Hallo Andy,

um wie viele Referenzcodes geht es denn?

Du könntest diese doch alle in die Tabelle eingeben und z.B. per VERGLEICH feststellen, mit welcher dieser Referenzen der eingescannte Barcode übereinstimmt.

Beispiel:
Eingabefeld für den gescannten Code ist A4
Im Bereich von D4 bis D54 sind die Referenzen eingegeben
In C4 bis C54 könntest du zu diesen Referenzen laufende Nummern eintragen und in E4 bis E54 eventuelle textliche Erläuterungen.

In B4 trägst du nun folgende Formel ein:
=VERGLEICH(A4;D4:D54;0)
Als Ergebnis wird dir angezeigt, an wievielter Stelle des Bereiches eine (erste) Übereinstimmung besteht. Den entsprechenden Refezenzcode findet du dann schnell über die lfd. Nummer in der Spalte C.

Auch bei dieser Variante ist nur ein Eingabefeld erforderlich und sie ließe sich auch noch so ausbauen, dass nicht nur die Positions-Nummer sondern auch noch die textliche Erläterung zu dem entsprechenden Referenzcode angezeigt wird. Bei einer längeren Liste bestimmt besser, als zu scrollen.

Gruß
Kalle
0 Punkte
Beantwortet von
Hallo Kalle,

vielen Dank für Deine Antwort.
Also Referenzcodes wären es 5 an der Zahl.
Mit Deinem Vorschlag der Übereinstimmungsprüfung hast Du recht. Das wäre auch eine mögliche praktikable Lösung. Allerdings drückt mir der Schuh nicht im vergleichen, sondern eher darin, dass die Prüfzelle nach jedem Scan wieder zu aktivieren ist, da zur Prüfung zwingend die Eingabe mit Tab oder Enter abgeschlossen werden muss (was ein Scan ja auch tut).
Ein Counter, wie oft ein Barcode hintereinander gescannt wurde, wäre auch noch eine Hilfe, da ich somit am Ende sicher sein kann, wieviele Barcodes auf der Rolle sind.

Viele Grüsse und vielen Dank für Deine Hilfe

Andy
0 Punkte
Beantwortet von kjg17 Profi (34.4k Punkte)
Hallo Andy,

wie kommen denn eigentlich die eingescannten Barcodes in das Feld, läuft das über ein Script? Dann finden die VBA-Spezies hier bestimmt auch eine Lösung, noch einen Zähler für die Anzahl der Ausführungen (Scanns) einzubauen, sofern es ihnen bekannt ist.

Gruß
Kalle
0 Punkte
Beantwortet von
Hallo Kalle,

der Scanner hängt per USB am Rechner und ich scanne in die offene Anwendung (geschütztes Excelblatt). Das sieht im Excel aus, als würde einer ziemlich schnell die Zahlen eintippen. Ein zusätzliches Script brauchte ich dafür nicht.
Das Problem ist wie gesagt, dass nach "abschießen" des Barcodes die aktive Zelle immer wieder auf die erste Eingabezelle (Referenzzelle) springt. Da ja aber durchgehend gescannt werden soll und nicht scan, enter, scan, enter.....
hätte ich schon gerne, dass die aktive Zelle nach dem Scan sofort wieder die aktive Zelle ist.

Viele Grüsse

Andy
...