Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

EAN 128 Prüfziffer Berechnung

Forumthread: EAN 128 Prüfziffer Berechnung

EAN 128 Prüfziffer Berechnung
20.06.2003 01:09:23
Jörg S. aus O.
Hallo zusammen,

falls Ihr auf der Suche nach einer Funktion für die Berechnung der EAN-Prüfziffer auf folgende Funktion (oder deren Abwandlungen) gestoßen seid

Function GetPrüfziffer(cWert As String) As Integer

dann ist Euch vielleicht aufgefallen, dass nicht alle berechneten Prüfziffern korrekt sind !?!

Das liegt daran, dass der Autor damals keinen Unterschied zwischen geraden EANs (EAN-8, EAN-14, UPC-12...) und ungeraden (EAN-13) gemacht hat.

Hier eine Version ohne diesen Mangel ;)

---------------------------------------


'Sub eingefügt um per Einzelschritt (F8) die Funktion GetPrüfziffer zu debuggen
Sub test()
    GetPrüfziffer (1234567)
End Sub


Function GetPrüfziffer(cWert As StringAs Double

'Der Prüfziffern-Algorithmus des EAN-Systems basiert auf einer Gewichtung der einzelnen
'Ziffern der zu prüfenden Nummer mit den Faktoren 3 1 3 1 3 ... von rechts nach links
'und dem Modulo 10. Mit anderen Worten ausgedrückt:
'Die einzelnen Ziffern der EAN-, ILN- oder NVE-Nummer werden von rechts nach links
'- also von hinten nach vorne - abwechselnd mit den Faktoren 3 und 1 multipliziert,
'wobei stets mit Faktor 3 begonnen wird.
'Die Summe dieser einzelnen Produkte (Produktsumme) ist zu ermitteln. Die Differenz
'zwischen der Produktsumme und dem nächsten vollen "Zehner" (Aufrundung) ergibt
'die Prüfziffer.
'Ergibt sich eine durch 10 teilbare Produktsumme, so ist die Prüfziffer gleich Null.
'
'zur Kontrolle: http://www.ean.de/ean/Inhalt/e2/e9 (Prüfziffernrechner der CCG !!!)

 Dim As Integer, nSumme As Integer, nLang As Integer
 Dim lGerade As Boolean

 nLang = Len(cWert)
 
 Select Case nLang Mod 2
    Case 0
     lGerade = True 'wenn nLang = gerade
    Case Else
     lGerade = False 'wenn nLang = ungerade
 End Select

 For x = 1 To nLang
    lGerade = Not lGerade
    If lGerade Then
      nSumme = nSumme + Val(Mid$(cWert, x, 1)) * 3
    Else
      nSumme = nSumme + Val(Mid$(cWert, x, 1)) * 1
    End If
 Next x
 GetPrüfziffer = Int((nSumme + 9) / 10) * 10 - nSumme

End Function



     Code eingefügt mit Syntaxhighlighter 2.1

---------------------------

Die Funktion kann wie folgt aufgerufen werden:
Beispiel:
A1: 123456789012
B1: =A1 & GetEAN(A1)
liefert eine EAN-13 mit Prüfziffer 8: 1234567890128

Ich bin zwar kein VBa-Spezialist, aber mit EAN128 kenn' ich mir aus ;)

Gruß
Jörg S. aus O.

(ab in die Heia ... Gähn ...)






Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
EAN-Prüfziffer ohne VBA
20.06.2003 06:35:39
Berai
Hallo Jörg,

hier je ein Beispiel zur Errechnung der Prüfziffern EAN-13 und EAN-8 mit Formel.


Re: EAN-Prüfziffer ohne VBA
20.06.2003 11:29:46
Jörg S. aus O.
Hi Rainer,

schön aufbereitet !

Vorteil der VBA-Funktion: es ist egal wieviel Stellen die EAN-Nummer (ohne Prüfziffer) hat.

Also eine Formel für alles (und fehlerhafte Eingaben behandele ich mit der Menü-Funktion "Gültigkeit")

Gruß
Jörg S. aus O.

Anzeige
;
Anzeige

Infobox / Tutorial

EAN 128 Prüfziffer Berechnung in Excel


Schritt-für-Schritt-Anleitung

Um die EAN-Prüfziffer in Excel zu berechnen, kannst Du entweder eine VBA-Funktion verwenden oder eine Formel einsetzen. Hier ist eine Schritt-für-Schritt-Anleitung zur Berechnung der EAN 13 Prüfziffer mit VBA:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Klicke auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.

  3. Füge den folgenden VBA-Code in das Modul ein:

    Function GetPrüfziffer(cWert As String) As Integer
       Dim x As Integer, nSumme As Integer, nLang As Integer
       Dim lGerade As Boolean
       nLang = Len(cWert)
    
       Select Case nLang Mod 2
           Case 0
               lGerade = True
           Case Else
               lGerade = False
       End Select
    
       For x = 1 To nLang
           lGerade = Not lGerade
           If lGerade Then
               nSumme = nSumme + Val(Mid$(cWert, x, 1)) * 3
           Else
               nSumme = nSumme + Val(Mid$(cWert, x, 1)) * 1
           End If
       Next x
    
       GetPrüfziffer = Int((nSumme + 9) / 10) * 10 - nSumme
    End Function
  4. Schließe den VBA-Editor.

  5. Um die EAN-Prüfziffer zu berechnen, gib in eine Excel-Zelle folgende Formel ein:

    =A1 & GetPrüfziffer(A1)

    Wenn in A1 die Zahl 123456789012 steht, gibt die Zelle 1234567890128 aus.


Häufige Fehler und Lösungen

  • Problem: Die berechnete Prüfziffer ist falsch.

    • Lösung: Stelle sicher, dass die Eingabewerte in der richtigen Reihenfolge und ohne zusätzliche Zeichen eingegeben werden. Überprüfe auch, ob Du die richtige Funktion verwendest.
  • Problem: VBA funktioniert nicht.

    • Lösung: Aktiviere die Makros in Deinen Excel-Einstellungen. Manchmal wird die Ausführung von VBA aus Sicherheitsgründen blockiert.

Alternative Methoden

Falls Du keine VBA-Funktion verwenden möchtest, kannst Du die EAN-Prüfziffer auch direkt mit einer Formel berechnen. Hier ist eine Beispiel-Formel für die EAN 13 Prüfziffer:

=MOD(10 - MOD(SUMPRODUCT((MID(A1, ROW(INDIRECT("1:"&LEN(A1))), 1) * {1,3}), 0), 10), 10)

Diese Formel nimmt die EAN-Nummer aus Zelle A1 und berechnet die Prüfziffer mithilfe der Modulo-Operation.


Praktische Beispiele

Hier sind einige Beispiele zur Berechnung der Prüfziffern:

  1. EAN-13 Beispiel:

    • A1: 123456789012
    • Formel: =A1 & GetPrüfziffer(A1)
    • Ergebnis: 1234567890128
  2. EAN-8 Beispiel:

    • A1: 1234567
    • Formel: =A1 & GetPrüfziffer(A1)
    • Ergebnis: 12345678
  3. EAN-128 Beispiel:

    • A1: 1234567890128
    • Formel: =A1 & GetPrüfziffer(A1)
    • Beachte, dass für EAN-128 die Datenstruktur und Prüfziffern unterschiedlich sein können.

Tipps für Profis

  • Nutze die Gültigkeitsprüfung in Excel, um sicherzustellen, dass nur gültige EAN-Nummern eingegeben werden.
  • Experimentiere mit der VBA-Funktion, um sie für Code 128 Prüfziffer oder andere Formate anzupassen.
  • Verwende den prüfziffernrechner online, um die Ergebnisse zu validieren, falls Du Zweifel hast.

FAQ: Häufige Fragen

1. Wie kann ich die EAN-Prüfziffer für EAN-8 berechnen? Die Methode ist ähnlich wie bei EAN-13, aber Du musst sicherstellen, dass Du die richtige Anzahl an Ziffern verwendest.

2. Gibt es eine Möglichkeit, die EAN-Prüfziffer ohne VBA zu berechnen? Ja, Du kannst eine komplexe Excel-Formel verwenden, um die Prüfziffer zu berechnen, wie im Abschnitt „Alternative Methoden“ beschrieben.

3. Was ist der Unterschied zwischen EAN-13 und EAN-128? EAN-13 besteht aus 13 Ziffern, während EAN-128 für die Codierung von zusätzlichen Informationen wie Gewichten oder Preisen verwendet wird und eine spezifische Struktur hat.

4. Wo kann ich online die Prüfziffer berechnen? Es gibt viele Online-Tools, wie z.B. den EAN-Prüfziffernrechner, die Dir helfen können, die Prüfziffer schnell zu berechnen.

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