Stapelverarbeitung Artikelnummern (EAN)
11.01.2022 09:20:08
JoWE
Hallo Zusammen,
ich wünsche allen ein gesundes neues Jahr und einen guten Start in 2022.
Ich benötige mal wieder Euere Unterstützung bzw. die des Kollegen UweD, da er mir bei diesem Thema bereits sehr geholfen hat.
Aktuell erstelle ich automatisiert Produktdatenblätter welche dann als *.pdf gespeichert werden.
UweD hatte mir am 10.12.2021; 16:12, folgende VBA gestrickt;
Sub Eans()
Dim TB1 As Worksheet, Tb2 As Worksheet
Dim LR2 As Integer, i As Integer, SP As Integer
Dim ZRNG As Range
Set TB1 = Sheets("MasterDB")
Set Tb2 = Sheets("Datenbank")
Set ZRNG = TB1.Range("S9") ' Die Zelle, wo bisher der EAN eingescannt wurde
SP = 3 ' EAN Nummern sind jetzt in Spalte A =1 gelistet
LR2 = Tb2.Cells(Tb2.Rows.Count, SP).End(xlUp).Row 'letzte Zeile der Spalte
For i = 1 To LR2
ZRNG = Tb2.Cells(i, SP)
ChDir "A:\Ablage\Datenblaetter"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:="A:\Ablage\4086023" & Range("S9"), Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, From:=1, To:=1, OpenAfterPublish:=False
Next
End Sub
Nun möchte ich parallel dazu oder direkt aus einem weiteren Sheet "Etikett" heraus ein Artikeletikett erzeugen und ebenfalls als *.pdf speichern.Das Etikett ist mit dem Produktdatenblatt verknüpft und zieht sich darüber den Inhalt. Es enthält zwei Barcodes (EAN13) welche sich aktuell erst nach dem speichern/drucken ändern. (Einstellung in TBarCode Add-In) Evtl. müsste man also erst "zwischenspeichern" und dann als *.pdf speichern?
Dies ist bereits alles erstellt und funktioniert soweit auch, nur die Integration in die bestehende VBA bekomme ich nicht hin.
Ich stelle mir den Prozess in etwa so vor; Erstellung der Datenblätter (Sheet "MasterDB") wie gehabt > Daten werden aus Sheet "MasterDB" in Sheet "Etikett" übernommen, funktioniert bereits auch > NEU: speichern/drucken *.pdf von Sheet "Etikett", wenn sich dort die Zellen "A2" und "BU2" (EAN) ändern > speichern in Zielordner (analog Datenblatt) als*.pdf.
Ich würde mich sehr freuen, wenn mir jemand die bestehende VBA anpassen könnte.
Vielen Dank vorab und schöne Grüße,
Löenne
Betrifft: AW: Du hast sicher eine fertige Musterarbeitsmappe
Betrifft: AW: Du hast sicher eine fertige Musterarbeitsmappe
Hallo,
nein leider nicht.
VG
Betrifft: AW: Du hast sicher eine fertige Musterarbeitsmappe
Das war keine Frage von JoWE, es war eine Aufforderung. Ein VBA-Code ist immer maßgeschneidert auf die Excel-Mappe, man kann nicht einen Code schreiben (und testen), OHNE die Mappe dazu zu kennen.
Betrifft: AW: Schade! Ich baue da nichts nach :=)
Betrifft: AW: Schade! Ich baue da nichts nach :=)
Hallo JoWE,
Sorry, komme erst so langsam in das Thema rein. ;)
Habe da geschwind was zusammengestellt, ich hoffe das reicht Dir zum bauen?!
https://www.herber.de/bbs/user/150167.xlsm
Schonmal vielen Dank voran und schöne Grüße,
Betrifft: AW: Schade! Ich baue da nichts nach :=)
Hallo,
sorry komme erst jetzt dazu, meinst Du es (Stapelverarbeitung alle Etiketten) so?
Sub UDE_Stapelverarbeitung_Deutsch()
Dim TB1 As Worksheet, Tb2 As Worksheet
Dim LR2 As Integer, i As Integer, SP As Integer
Dim ZRNG As Range
Set TB1 = Sheets("MasterDB")
Set Tb2 = Sheets("Datenbank")
Set ZRNG = TB1.Range("S9") ' Die Zelle, wo bisher der EAN eingescannt wurde
SP = 3 ' EAN Nummern sind jetzt in Spalte A =1 gelistet
LR2 = Tb2.Cells(Tb2.Rows.Count, SP).End(xlUp).Row 'letzte Zeile der Spalte
For i = 2 To LR2
Sheets("MasterDB").Range("S9") = Tb2.Cells(i, 2)
'ChDir "A:\Ablage\Datenblaetter"
'ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:="A:\Ablage\4086023" & _
Range("S9"), Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, From:=1, To:=1, OpenAfterPublish:=False
ChDir "C:\Users\joche\Desktop\VBA Übungen\Lönne75"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Users\joche\Desktop\VBA Übungen\Lönne75\4086023" & _
Range("S9"), Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, From:=1, To:=1, OpenAfterPublish:=False
Next
End Sub
GrußJochen
Betrifft: AW: Schade! Ich baue da nichts nach :=)
Hallo Jochen,
bitte nicht entschuldigen ;) bin Dir sehr dankbar, dass du dir mir bei dem Thema hilfst!
Ja das meine ich genau so, nur das Produktdatenblatt "MasterDB" funktioniert bereits wunderbar, da habe ich schon ein paar Hundert erstellt.
Ich würde gerne einbauen, dass das "Etikett" parallel mit erstellt und in ein einem separatem Ordner (z.B. A:\Ablage\Etikett) ebenfalls als *.pdf gespeichert wird.
Generieren tut es sich ja bereits, nur habe ich hier das Problem, die Barcodes aktualisieren sich erst nach dem speichern bzw. drucken, je nach Einstellung im Barcode-Generator.
Ich würde also gerne alles in einem Workflow ablaufen lassen, z.B. 1. EAN: Erstellung "MasterDB" ; speichern\ablegen; Erstellung "Etikett"; speichern\speichern\ablegen; 2. EAN, wie bei 1. EAN.
Gruß Michael
Betrifft: AW: Schade! Ich baue da nichts nach :=)
hmm, keine Ahnung vom Barcodegenerator.
Da müßte ich mehr drüber erfahren.
Betrifft: AW: Schade! Ich baue da nichts nach :=)
Hilft Dir das weiter;
Wie kann ich Barcodes automatisch aktualisieren, wenn eine Zelle geändert wird?
Bei EMF-Barcodes werden die Strichcodes beim Drucken und (optional) beim Speichern des Dokuments aktualisiert. Wenn Sie die Barcodes sofort aktualisieren müssen, weil eine bestimmte Zelle oder ein bestimmter Bereich geändert wurde, können Sie das mit einem Makro tun:
Aktivieren Sie "Barcodes beim Speichern aktualisieren" in den Add-In-Optionen.
Fügen Sie den folgenden Code zu Ihrem Excel-Arbeitsblatt (ALT-F11) hinzu und speichern Sie das Dokument als Excel-Arbeitsmappe mit Makros (*.xlsm).
Private Sub Worksheet_Change(ByVal Target As Range)
' Geben Sie hier den Bereich an, der die automatische Speicherung auslösen soll.
If (InRange(Target, Range("A1:A10"))) Then
Application.DisplayStatusBar = True
Application.ActiveWorkbook.Save
Application.StatusBar = "Auto-Save done!"
End If
End Sub
Function InRange(Range1 As Range, Range2 As Range) As Boolean
InRange = Not (Application.Intersect(Range1, Range2) Is Nothing)
End Function
Funktionsweise: Das Makro speichert das Dokument und löst damit die Aktualisierung des Barcodes aus.
VGBetrifft: AW: Umgang mit Barcodegenerator, Hilfe gesucht
Werde mich da mal reindenken,
bin jetzt aber erst einmal raus.
Vllt. kann jemand übernehmen?
Gruß
Jochen
Betrifft: AW: Welches Barcode-Add In nutzt Du? Wo beziehbar?
Betrifft: AW: Welches Barcode-Add In nutzt Du? Wo beziehbar?
Guten Morgen Jochen,
das Add-In ist von Tec-IT, siehe hier;
https://www.tec-it.com/de/support/faq/tbarcode-office/tbarcode-office-excel-add-in/Default.aspx
Vielen Dank für Deine Mühen und guten Start in die neue Woche.
VG
Betrifft: AW: Welches Barcode-Add In nutzt Du? Wo beziehbar?
Hallo,
hier kommt mein Versuch (System: Windows 11 mit MS Excel 2019. Ich habe das Add In installiert und es ist aktiviert.
In den Optionen des Barcode Add Ins habe ich die Einstellung "Barcodes beim Speichern aktualisieren" eingestellt.
Versuchs mal (mit Anpassung der Speicherpfade!!!):
https://www.herber.de/bbs/user/150304.xlsm
Gruß
Jochen
Betrifft: AW: Welches Barcode-Add In nutzt Du? Wo beziehbar?
Guten Morgen Jochen,
WELTKLASSE!!!!
Genau wie ich es mir vorgestellt haben, PERFEKT!
Habe bei meinen Tests (50 Stk.) bis jetzt keine Probleme festgestellt, sollte also auf Dauer funktionieren.
Vielen, vielen Dank für Deine Unterstützung.
Wünsche Dir eine gute Zeit und bleib schön Gesund!
VG Michael
Betrifft: Gerne, war für mich auch was neues