Excel - Teil einer Zelle auf Duplikat prüfen

Hallo liebe Forumsgemeinde und Spezialisten,
nach dem ich seit Tagen an einer Problemlösung suche und langsam am Verzweifeln bin mein Hilferuf.

Das Problem ist folgendes:
Über ein Lesegerät werden DataMatrixCodes ausgelesen (ist sowas wie ein Barcode) dieser kommt wie über eine Tastatureingabe in das Excel mit einem CR (Return) am Abschluss. Der Code ist eine Zahl mit 20 Stellen.
Ich muss jeweils die letzten 8 (8 Stellen von rechts) prüfen ob es diese schon gibt, dabei eine doppelte Eingabe vermeiden und am Besten einen Warnhinweis bringen.

Was ich bisher mit Bordmitteln versucht habe ist die Spalte in der die Codes eingelesen werden (ca. 10000) zuerst als Text formatiert, da Excel keine 20 stellige Zahl kann. Dann in die Zelle daneben mit zB. =rechts(a1;8) und noch mit wenn Verknüpfung Zellen ausgeblendet wo es links daneben noch keine Zahl gab.
Mit der Zählewenn Funktion wollte ich dann nach Duplikaten suchen.

Irgend wie bin ich aber kläglich gescheitert da eine Auswertung mit den wenn und rechtsverknüpfungen und zählewenn nicht funzt.

Ich habe hier zwar schon mal die Suche angestrengt aber unter den 135 angezeigten Beiträgen nichts passendes gefunden.

Mit der Suche sollen Artikel gefunden werden die fäschlicher Weise mit der selben Nummer beschriftet wurden.

Ich hoffe auf Eure Hilfe, kann gerne auch was in VBA sein wenn Ihr mir mit sagt wo ich es im editor rein kopieren muss / workbook / worksheet / Modul - Hilfe

Danke, Gruß Tom

Hallo Tom,
in diesem Punkt kann ich Dir leider nicht helfen.
Viel Erfolg bei der weiteren Suche.
Gruß
hjsp

Aus der excel Hilfe

Vergleichen von Zellinhalten
Vergleichen einer Zelle mit einer anderen Zelle

Verwenden Sie die Funktion IDENTISCH, um diese Aufgabe durchzuführen.

Beispiel für ein Arbeitsblatt
Das Beispiel ist möglicherweise leichter zu verstehen, wenn Sie es in ein leeres Arbeitsblatt kopieren.

Wie wird’s gemacht?

Erstellen Sie eine leere Arbeitsmappe oder ein leeres Arbeitsblatt.
Wählen Sie das Beispiel im Hilfethema. Markieren Sie jedoch nicht die Zeilen- oder Spaltenüberschriften.

Formel Beschreibung (Ergebnis)
=IDENTISCH(A2;A3) Vergleichen der Inhalte von A2 und A3 (FALSCH)
=IDENTISCH(A3;A4) Vergleichen der Inhalte von A3 und A4 (WAHR)

Anmerkung Die Funktion IDENTISCH beachtet die Groß-/Kleinschreibung, ignoriert jedoch Formatierungsunterschiede.

Funktionsdetails
IDENTISCH

Vergleichen eines Wertes mit einer Liste von Werten

Verwenden Sie die Funktionen IDENTISCH und ODER, um diese Aufgabe durchzuführen.

A B
Liste Zelle
Apfel Traube
Orange
Banane

Formel Beschreibung (Ergebnis)
=ODER(IDENTISCH(B2;A2:A4)) Vergleicht „Traube“ mit jedem Wert in der Liste (FALSCH)

Anmerkung Die Formel in dem Beispiel muss als Matrixformel eingegeben werden. Nachdem Sie das Beispiel in ein leeres Arbeitsblatt kopiert haben, markieren Sie jede Formelzelle einzeln. Drücken Sie F2, und drücken Sie dann STRG+UMSCHALT+EINGABE. Wird die Formel nicht als Matrixformel eingegeben, wird der Fehler #WERT! zurückgegeben.

Die oben stehende Formel verwendet die folgende Syntax:

=ODER(IDENTISCH(Testwert; Vergleichsbereich))

Testwert bezieht sich auf eine Zelle, die einen vom Benutzer eingegebenen Wert enthält; Vergleichsbereich bezieht sich auf eine Liste von Textwerten, mit denen verglichen wird.

Funktionsdetails

Hallo,
wenn Du schon mit rechts die Zellen ausgewertest hast, versuch doch mal diese Reihe mit der Bedingten Formatierung weiter zuarbeiten. Du kannst Sie dann Rot markieren lassen. Evtl. mit einer Wenn-Funktion weitere Auswertungen vornehdmen.
Tschüß
Frank

Hallo Tom,
ich habe Dein Problem mit 12 Beispielwerten in B1:B12 nachgestellt (8-stellige Ziffern als Text formatiert). Eine kombinierte WENN/ZÄHLENWENN bringt doch den gewünschten Erfolg. Filtert man anschließend die Ergebnisspalte, so ist ein überarbeiten der Duplikate kein Problem mehr.
hier die Formel:
=WENN(ZÄHLENWENN($B$1:blush:B$12;B1)>1;„MEHRFACH!!“;"")
Gruß Maria

Excel - Teil einer Zelle auf Duplikat prüfen
Hallo Maria, danke für Deine Antwort.
Leider hilft sie mir nicht weiter.
Mein Problem sind erstens die 20stelligen Zahlen, wenn Du diese eingibts werden nur die glaube ich ersten 16 ausgewertet, was hinten passiert, kriegt excel nicht mit. Hole ich mit einer Formel die rechten 8 raus, funktioniert zählenwenn nicht mehr.
Und ich brauche die Meldung auf eine doppelte Eingabe sofort wenn diese gemacht wird um den Artikel mit der doppelten Seriennumer sofort auszusortieren.
Eine Ausertung wenn alle 5000 Werte drin sind ist zu spät, da ich ja dann die doppelten Artikel wieder suchen muss.

Ich kämpfe mich weiter durch die Weiten den Excel - Gruß Tom

Hallo Tom,

du kannst mit der ZÄHLENWENN-Funktion ermitteln, ob ein Code ein weiteres Mal eingelesen wurde. Mit bedingter Formatierung (Zellwert > 1) kannst du die Zellen optisch hervorheben.

Ein Meldetext könnte an die Eingabe gekoppelt werden. Ich weiss aber nicht, ob die Eingabe per Scanner als Change-Ereignis gewertet wird.

Ein entsprechendes Makro findest du unten.

Gruß
Franz

Tabellenblattname: Tabelle1

 A B C 
1 20-Zeichen-Code 8 Zeichen Doppelt 
2 01234567890123456789 23456789 1 
3 01234567890123456790 23456790 1 
4 01234567890123456790 23456790 2 
5 01234567890123456791 23456791 1 
6 0 

Benutzte Formeln:
B2: =RECHTS(A2;8)
B3: =RECHTS(A3;8)
B4: =RECHTS(A4;8)
B5: =RECHTS(A5;8)
B6: =RECHTS(A6;8)
C2: =WENN(A2="";0;ZÄHLENWENN($B$1:B2;B2))
C3: =WENN(A3="";0;ZÄHLENWENN($B$1:B3;B3))
C4: =WENN(A4="";0;ZÄHLENWENN($B$1:B4;B4))
C5: =WENN(A5="";0;ZÄHLENWENN($B$1:B5;B5))
C6: =WENN(A6="";0;ZÄHLENWENN($B$1:B6;B6))

Makro:

'Makro in dem Tabellenblatt in das die Codes eingelesen werden.
Private Sub Worksheet\_Change(ByVal Target As Range)
 If Target.Column = 1 And Target.Row \> 1 And Target.Cells.Count = 1 Then
 With Target.Offset(0, 2)
 .Calculate
 If .Value \> 1 Then
 MsgBox "Doppeleingabe in Zeile " & Target.Row
 End If
 End With
 End If
End Sub

Hallo Tom,
vermutlich verstehe ich Deine Problematik nicht exakt. Ich glaubte verstanden zu haben, dass viele Werte gleichzeitig importiert werden. Jetzt verstehe ich: „Eingabe von 20-stelligen Ziffern“. Wenn Du die Zellen vor der Eingabe als Text formatierst, dann ist die Darstellung korrekt.
Gruß Maria