Makro läuft nur im Einzelschritt korrekt durch
12.11.2018 15:47:31
Andreas
folgendes Problem:
Ich habe ein Makro geschrieben, welches einen Barcode anhand bestimmter Formularfelder erzeugt mit dem Plugin ActiveBarcode. Das sind nichts anderes als OLEObjects die man auch entsprechend ansprechen kann.
Nun habe ich eine Schleife erzeugt, die unter anderem den Inhalt des Barcodes verändert.
Abschließend wird das ganze als einzelne PDFs exportiert. (Später mal gedruckt)
Gehe ich per F8 im Einzelschritt durch ist alles in Ordnung, die Schleife zählt hoch und das Objekt aktualisiert richtig.
Lasse ich das Makro so laufen aktualisiert sich der Barcode nicht. Ich habe schon ein Application.Wait von 10 Sekunden eingefügt - bringt auch nichts.
Hat jemand eine Idee?
Anbei noch der Ausschnitt des Codes:
x = InputBox("Wie viele Kopien sollen gedruckt werden?")
ANester = Sheets("Lieferschein").Range("C8") 'Anzahl Nester speichern
Sheets("Lieferschein").Range("C8") = 1 'Beim ersten Nest beginnen
For i = 1 To ANester
'Anpassen eindeutige ID
Sheets("Lieferschein").Range("C15") = Sheets("Lieferschein").Range("C14") & "_" & Sheets(" _
_
_
Lieferschein").Range("C13") & "_" & Sheets("Lieferschein").Range("C8")
Sheets("CSV").Range("A" & i + 1) = Sheets("Lieferschein").Range("C2")
Sheets("CSV").Range("B" & i + 1) = Sheets("Lieferschein").Range("C3")
Sheets("CSV").Range("C" & i + 1) = Sheets("Lieferschein").Range("C4")
Sheets("CSV").Range("D" & i + 1) = Sheets("Lieferschein").Range("C8")
Sheets("CSV").Range("E" & i + 1) = Sheets("Lieferschein").Range("C9") & "_" & Sheets(" _
Lieferschein").Range("C10")
Sheets("CSV").Range("F" & i + 1) = Sheets("Lieferschein").Range("C11") & "_" & Sheets(" _
Lieferschein").Range("C12")
Sheets("CSV").Range("G" & i + 1) = Sheets("Lieferschein").Range("C13")
Sheets("CSV").Range("H" & i + 1) = Sheets("Lieferschein").Range("C14")
Sheets("CSV").Range("I" & i + 1) = Sheets("Lieferschein").Range("C15")
'Update DMC
Sheets("Lieferschein").OLEObjects("DMC1").Object.Text = Sheets("Lieferschein").Range("C15")
Application.Wait (Now + TimeValue("00:00:10"))
' +++ Aktivieren um später zu drucken +++
'ActiveWorkbook.Worksheets("Lieferschein").PrintOut Copies:=x
' +++ PDF Export fürs Testen +++
Sheets("Lieferschein").ExportAsFixedFormat Type:=xlTypePDF, Filename:="C:CSV" & Worksheets(" _
Lieferschein").Range("C15") & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, _
_
IgnorePrintAreas:=False, OpenAfterPublish:=False
'Nest erhöhen
If Sheets("Lieferschein").Range("C8")