Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1640to1644
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

EAN-Code 128

EAN-Code 128
04.09.2018 19:56:05
Andre
Hallo
Ich möchte das der Zellinhalt von B3 in B5 als EAN 128 angezeigt wird geht das überhaupt mit VBA
für eure Hilfe bedanke ich mich schon im voraus

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: EAN-Code 128
04.09.2018 20:42:50
onur
Klar müsste es gehen, wenn du "EAN 128" als Truetype-Font installierst.
Font code128.ttf installieren genügt nicht,
04.09.2018 21:40:29
EtoPHG
onur,
BarCodes 128 (A,B,C) werden abhängig von der Inhaltsreihenfolge dynamisch zusammengestellt. Dies z.B. im Unterschied zu Code-39, bei dem eine 1:1 Abhängigkeit zwischen Zeichen oder Ziffer und der Leerstelle-Balken-Kombination besteht. Code-39 braucht darum wesentlich mehr Platz in der Breite, als ein Code-128, welcher zu den 'high-density' Barcodes gehört. Kommt z.B. die Ziffernfolge 12 im Code-128 vor, wird je nach Position im Inhalt eine andere Kombination aus Leerstelle und Balken erzeugt. Insgesamt gibt es 107 verschiedene Leerstelle-Balken Kombinationen, welche aus dem Inhalt 'errechnet' werden müssen!
siehe : Le code 128 Hier kann der code128.ttf (Truetype-Font) und ein entsprechendes VBA Makro zur Erstellung frei heruntergeladen werden. Die UDF kann dann als Formel auf Zellen angewendet werden =code128(A3). Diese Zellen müssen mit Schriftart Code 128 formatiert werden.
Gruess Hansueli
Anzeige
AW: Font code128.ttf installieren genügt nicht,
05.09.2018 06:44:46
onur
Mein "Wenn" war ja auch causal und nicht temporal gemeint.
AW: Font code128.ttf installieren genügt nicht,
05.09.2018 10:17:10
UweD
Hallo
ich habe den "le Code" nicht gelesen...
ich verwende diesen hier (auch aus dem Netz)
Option Explicit

'Funktion zum ermitteln der Prüfziffer für den Barcode Code128. 
'Getestet mit Tabellendokumenten in OpenOffice 3 und MS-Office 2000. 
'Bei Fehlern wird kein Wert zurückgegeben, sonst der errechnete Text. 
'Nach der korrekten Integration des Makros in ein Tabellendokument 
'kann das Makro z.B. mit der Formel =code128(A1) aufgerufen werden, 
'wenn in der Zelle A1 der Ausgangstext steht. 
'(C) 2009 - www.matsel.de - webmaster@matsel.de - Letzte Änderung 26.06.2009 
Public Function Code128$(Text$)
    Dim x%, y%, fehlzeichen%, checksumme&
    Dim Zeichensatz As Variant
    Zeichensatz = Array("ß", "!", Chr(34), "#", "$", "%", "&", "'", "(", ")", "*", "+", ",", "-", ".", "/", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", ":", ";", "<", "=", ">", "?", "@", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "[", "\", "]", "^", "_", "`", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "{", "|", "}", "~", "´", "ä", "ö", "ü", "Ä", "Ö", "Ü", "µ", "À", "Á", "Â", "È")
    Code128$ = ""

    'Die Maximallänge des Textes wird auf 40 Zeichen begrenzt, um fehlerhafte Scans zu vermeiden. 
    If (Len(Text$) > 40) Then
        x% = MsgBox("Der zu codierende Text ist " & Str(Len(Text$) - 40) & " Zeichen zu lang." & Chr(13) & "Um Fehler beim Scannen des Barcodes zu vermeiden, ist dieses Makro auf 40 Zeichen begrenzt.", 64, "Barcode-Generator (Code 128)")
        Exit Function
    End If

    'Wenn kein Text zu codieren ist, dann Funktion beenden. 
    If (Len(Text$) = 0 Or Text$ = "0") Then
        Exit Function
    End If

    'Testen, ob im Ausgangstext ein ß enthalten ist 
    If (InStr(Text$, "ß") <> 0) Then
        x% = MsgBox("Das Zeichen ß kann nicht dargestellt werden.", 64, "Barcode-Generator (Code 128)")
        Exit Function
    End If

    'Das Startzeichen hat den Wert 104 
    checksumme& = 104

    'Leerzeichen durch ß ersetzen 
    Text$ = Replace(Text$, " ", "ß")


    'Prüfziffer berechnen 
    For x% = 1 To Len(Text$)
        fehlzeichen% = 1
        For y% = 0 To 94
            If (Mid$(Text$, x%, 1) = Zeichensatz(y%)) Then
                fehlzeichen% = 0
                checksumme& = checksumme& + (x% * y%)
                Exit For
            End If
        Next y%
        If fehlzeichen% = 1 Then
            x% = MsgBox("Das Zeichen " & Mid$(Text$, x%, 1) & " kann nicht dargestellt werden.", 64, "Barcode-Generator (Code 128)")
            Exit Function
        End If
    Next x%

    'Rest ermitteln 
    checksumme& = checksumme& Mod 103

    'Ergebnis = Startzeichen + Text + Prüfziffer + Stoppzeichen 
    Code128$ = "Á" & Text$ & Zeichensatz(checksumme&) & "È"
End Function

- in ein Standardmodul kopieren
- in A1 deinen Text
- in B1 die Formel = code128(A1)
- B1 mit einer code128schriftart formatieren und die Schriftgröße entsprechend vergrößern
Tipp:
mittig zentrieren und die Spaltenbreite größer wählen als der angezeigte Code.
Dadurch stellst du die weißen Randbereiche sicher.
Userbild
LG UweD
Anzeige
AW: Font code128.ttf installieren genügt nicht,
05.09.2018 11:04:42
Andre
Hallo UweD
LÄUFT SUPI!!!!!
DANKE IHR SEID DIE BESTEN HIER IM FORUM
ALLEN NOCHMAL VIELEN DANK FÜR EURE MÜHE
Prima! Danke für die Rückmeldung. owT
05.09.2018 14:45:37
UweD
AW: EAN-Code 128
05.09.2018 08:15:04
Andre
Hallo onur und EtoPHG
Erstmal vielen für eure Hilfe
Leider hat das alles nicht geklappt mit dem Code und der Schrift runterladen.
vielleicht mache ich auch was falsch:(
Ich habe den Code in ein Modul gespeichert und die Zelle mit Code128 formatiert.
Gebe ich eine Zahl ein wird mir zwar ein Code angezeigt nur am Anfang und am Ende stehen ein Ó
Kannst du die Mappe mal hochladen? (owT)
05.09.2018 10:39:48
EtoPHG

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige
Archiv - Verwandte Themen