Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Barcodes per VBA

Forumthread: Barcodes per VBA

Barcodes per VBA
Jaffi
Hallo helfende Gemeinde,
ich möchte versuchen, ob es nicht geht per VBA Barcode Etiketten zu drucken.
Ich stelle mir das so vor. Per Userform fülle ich ein Sheet. Danach soll er mir die ganzen 6 Stelligen Nummern
einfach auf ein vorher definiertes Etikettenpapier ausdrucken. Ganz nackig...nur den Strichcode...
Ehrlich gesagt weis ich garnicht so recht wo ich anfangen soll. Ich meine das Sheet befüllen per Userform stellt kein Problem dar. Aber der Barcode, sollte ich das mit einer Barcode-Schriftart lösen? Dann bin ich aber leider nicht Systemunabhängig...ich müsste dann also jeden Rechner mit der Schriftart ausstatten...
HAt jemand einen Beispiellink oder ein Tip wie ich das realisieren könnte?
Tausend dank für eure Hilfe..
..mal wieder ;)
lg
J
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Barcodes per VBA
11.08.2009 11:08:23
Ramses
Hallo
Ohne Schriftart geht da meines Wissens nach gar nichts.
Schliesslich soll es der Drucker ja auch verstehen :-)
Gruss Rainer
AW: Barcodes per VBA
11.08.2009 12:02:39
Dirk
Hallo Jaffi,
falls Du des englischen maechtig bist hier mal ein link zu einem tutorial, welches schritt fuer schritt erklaert, was gemacht werden muss.
http://www.idautomation.com/fonts/tools/vba/
Du brauchst dazu jedoch einen Barcode-schriftsatz
Einen kostenloser Schriftsatz findest Du hier:
http://www.freedownloadmanager.org/downloads/ConnectCode_Free_Barcode_Font_46605_p/free.htm
Fuer andere Barcode-Schriftsaetze kannst Du ueber google etc suchen.
Gruss
Dirk aus Dubai
Anzeige
AW: Barcodes per VBA
11.08.2009 12:07:20
Daniel
Hi
ohne Zeichensatz musst du den Barcode aus Rechtecken selber zusammenbasteln.
das könnte in etwa so aussehen (die Breitenddefinitionen musst du dir selber zusammenbasteln, ich habs nur mal für die Buchstaben A und B gemacht, ist aber kein echter BarCode):
Sub text()
Call BarCode_erstellen("ABBA", 10, 10)
End Sub
Sub BarCode_erstellen(txt As String, ByVal PosX As Double, ByVal PosY As Double)
Dim BarCodeDefinition(1 To 256) As String
Dim i As Long, x As Long
Dim Breiten() As String
Const Höhe = 30
'--- BarCode definieren, immer als Päarchen
'--- erste Zahl ist Breite des dunklen Strichs
'--- zweite Zahl ist Breite des hellen Strichs
BarCodeDefinition(Asc("A")) = "10,3,5,3,5,3,10,3"
BarCodeDefinition(Asc("B")) = "5,3,5,3,10,3,10,3"
'... für alle erforderlichen Zeichen fortsetzen
'--- BarCode zeichnen
For i = 1 To Len(txt)
Breiten = Split(BarCodeDefinition(Asc(Mid$(txt, i, 1))), ",")
For x = 0 To UBound(Breiten) Step 2
With ActiveSheet.Shapes.AddShape(msoShapeRectangle, PosX, PosY, Breiten(x), Höhe)
.Fill.ForeColor.SchemeColor = 8
.Fill.Visible = msoTrue
.Fill.Solid
End With
PosX = PosX + Breiten(x) + Breiten(x + 1)
Next
Next
End Sub
Gruß, Daniel
Anzeige
AW: Barcodes per VBA
12.08.2009 11:16:58
Jaffi
Hallo,
vielen Dank für eure Lösungsansätze...da werd ich mich mal durchkämpfen!! ;)
Tausend Dank und liebe Grüsse
AW: Barcodes per VBA
16.08.2009 11:48:43
Dirk
Hallo Jaffi,
hier mal ein Ansatz:
Die Barcode tabelle habe ich aus Wikipedia gezogen, da sollten aehnliche Tabellen auch fuer andere Kodierungen verfuegbar sein.
https://www.herber.de/bbs/user/63864.xls
Gruss
Dirk aus Dubai
Anzeige
;
Anzeige

Infobox / Tutorial

Barcodes per VBA erstellen und drucken


Schritt-für-Schritt-Anleitung

  1. Vorbereitung: Stelle sicher, dass du über eine geeignete Barcode-Schriftart verfügst. Du kannst beispielsweise die kostenlose ConnectCode Barcode-Schriftart herunterladen, um Barcodes in Excel zu erstellen.

  2. VBA-Editor öffnen: Drücke ALT + F11, um den VBA-Editor in Excel zu öffnen.

  3. Neues Modul erstellen: Klicke im Menü auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.

  4. Code einfügen: Füge den folgenden VBA-Code ein, um einen einfachen Barcode zu erstellen:

    Sub BarCode_erstellen(txt As String, ByVal PosX As Double, ByVal PosY As Double)
        Dim BarCodeDefinition(1 To 256) As String
        Dim i As Long, x As Long
        Dim Breiten() As String
        Const Höhe = 30
    
        '--- BarCode definieren
        BarCodeDefinition(Asc("A")) = "10,3,5,3,5,3,10,3"
        BarCodeDefinition(Asc("B")) = "5,3,5,3,10,3,10,3"
    
        '--- BarCode zeichnen
        For i = 1 To Len(txt)
            Breiten = Split(BarCodeDefinition(Asc(Mid$(txt, i, 1))), ",")
            For x = 0 To UBound(Breiten) Step 2
                With ActiveSheet.Shapes.AddShape(msoShapeRectangle, PosX, PosY, Breiten(x), Höhe)
                    .Fill.ForeColor.SchemeColor = 8
                    .Fill.Solid
                End With
                PosX = PosX + Breiten(x) + Breiten(x + 1)
            Next
        Next
    End Sub
  5. Barcode generieren: Rufe die Subroutine auf, um den Barcode zu erzeugen, indem du beispielsweise Call BarCode_erstellen("ABBA", 10, 10) im Hauptmodul verwendest.


Häufige Fehler und Lösungen

  • Fehler: Barcode wird nicht angezeigt: Stelle sicher, dass du die richtige Barcode-Schriftart installiert hast. Ohne die Schriftart kann Excel die Barcodes nicht korrekt darstellen.
  • Fehler: Barcode wird nicht gedruckt: Prüfe die Druckereinstellungen und stelle sicher, dass die Seite entsprechend dem Etikettenformat eingerichtet ist.
  • Fehler: Falsche Darstellung des Barcodes: Überprüfe die Breitenangaben im BarCodeDefinition-Array, um sicherzustellen, dass die Werte korrekt sind.

Alternative Methoden

Eine alternative Methode zur Erstellung von Barcodes ist die Verwendung von Excel-Vorlagen oder Add-Ins, die speziell für die Erstellung von Barcode-Etiketten entwickelt wurden. Diese Tools bieten oft eine benutzerfreundliche Oberfläche und erfordern keine Programmierkenntnisse in VBA. Du kannst auch Online-Generatoren für Barcodes ausprobieren, wenn du eine schnelle Lösung benötigst.


Praktische Beispiele

  • Beispiel für die Erstellung eines Barcodes: Um einen Barcode für die Nummer "123456" zu erstellen, kannst du den folgenden Code verwenden:

    Call BarCode_erstellen("123456", 10, 10)
  • Drucken von Barcodes: Um Barcodes auf Etiketten zu drucken, richte die Druckeinstellungen so ein, dass sie mit dem Etikettenformat übereinstimmen. Stelle sicher, dass du ein leeres Blatt Etiketten in den Drucker einlegst.


Tipps für Profis

  • Barcode-Formatierung: Experimentiere mit verschiedenen Barcode-Schriftarten, um die beste Lesbarkeit für deinen Drucker zu finden.
  • Makros speichern: Speichere deine VBA-Makros in der Arbeitsmappe, um sie bei Bedarf schnell wieder zu verwenden.
  • Automatisierung: Überlege, wie du die Eingabe für Barcodes automatisieren kannst, um den Prozess zu beschleunigen, etwa durch UserForms zur Eingabe von Daten.

FAQ: Häufige Fragen

1. Kann ich Barcodes ohne Schriftart erstellen?
Ja, du kannst Barcodes mit VBA erstellen, indem du sie aus Rechtecken zusammensetzt, jedoch wird dies aufwendiger und erfordert mehr Code.

2. Wo finde ich kostenlose Barcode-Schriftarten?
Es gibt viele Websites, die kostenlose Barcode-Schriftarten anbieten, wie beispielsweise Free Download Manager.

3. Wie drucke ich meine Barcodes?
Stelle sicher, dass du das richtige Etikettenformat in den Druckeinstellungen wählst und die Etiketten korrekt in den Drucker einlegst.

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