Clever-Excel-Forum

Normale Version: Excel VBA Schleife für Druck und Call Modul
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo liebe VBA-Community,



ich habe folgendes Problem:



Ich habe ein UserForm angelegt in dem man angeben kann wieviele Drucke an den Drucker gesendet werden.
Nun habe ich einen Barcode Generator mit angefügt der mit Call mainBarCoder erreichbar ist.

Jetzt möchte ich eine Schleife einbauen die so oft das Modul aufruft und gleichzeitig druckt wie in Textbox5 die Zahl ist.

Ich hoffe ihr versteht was ich meine [Bild: smile.gif]



Hier der Code:



Code:
If CheckBox1.Value = True Then
             Worksheets("Retouren_Template").Range("J15") = "APP"
         Else
             Worksheets("Retouren_Template").Range("J15") = ""
         End If
     If (TextBox5.Text <> "" And CheckBox1.Value = True) Then GoTo weit
     On Error GoTo la
la:  If (TextBox5.Text = "" And CheckBox1.Value = True) Then
     TextBox5.Text = InputBox("Das Häkchen zum Versenden von Textil Kartons wurde gesetzt. Allerdings wurde keine Kartonanzahl angegeben. Bitte geben Sie im unteren Feld eine Anzahl zwischen 1 und 999 Kartons an oder klicken sie auf Abbrechen.")
        If TextBox5.Text = vbchancel Then GoTo weiter
        If TextBox5.Text = vbOK Then GoTo weit
        If CheckBox1.Value = False Then GoTo weiter
weit:           Call mainBarCoder(Worksheets("Retouren_Template").Range("B6"), Range("A3"), 50, 10)
                ActiveSheet.PrintOut Copies:=Me.TextBox5.Value
                End If
Hallo,

bei einer TextBox Vergleich mit vbCancel bzw. vbOK? Wie geht das denn?
Hallo,

es gibt ein grundsätzliches Problem in den Foren:

Wenn ein Thema bzw Code zu kompliziert ist, möchte sich da (vermutlich) niemand einarbeiten:

h[xx]ps://www.herber.de/forum/messages/1770233.html

Falls die URL wieder gelöscht wird:

Bei Herber und dann forum/messages/1770233.html

Hier ist die Frage besser.

Überlege Dir, ob Du das (eigentlich interessante) Thema so stellen kannst, dass jemand das in 1-2 Minuten verstehen und in ca 10 Minuten am eingenen PC testen kannst. (Deine Datei bei Herber ist so komplex, dass die Sicherheitsprüfung schon zu lange dauert)

mfg
Hallo,
If CheckBox1.Value = True Then
Worksheets("Retouren_Template").Range("J15") = "APP"
If Not IsNumeric(TextBox5.Text) Then
TextBox5.Text = InputBox("Das Häkchen zum Versenden von Textil Kartons wurde gesetzt. Allerdings wurde keine Kartonanzahl angegeben. Bitte geben Sie im unteren Feld eine Anzahl zwischen 1 und 999 Kartons an oder klicken sie auf Abbrechen.")
If IsNumeric(TextBox5.Text) Then
Call mainBarCoder(Worksheets("Retouren_Template").Range("B6"), Range("A3"), 50, 10)
ActiveSheet.PrintOut Copies:=TextBox5.Value
End If
End If
Else
Worksheets("Retouren_Template").Range("J15") = ""
End If
Gruß Uwe
Hallo,

ja deshalb habe ich nur einen Teil des Codes gepostet damit der Rest nicht verwirrt. 
Mir fehlt eigentlich nur noch eine Sinnvolle Schleife die anhand einer TextBox die Menge der Call´s und Drucke festlegen soll.

Hallo,

vielen Dank für deinen Code.

Jedoch passiert leider nichts sobald ich auf meinen Button klicke. 
Aber ich glaube der Ansatz ist schon recht gut.
Ich habe dir mal die Datei Hinzugefügt.

Danke & viele Grüße,

Pascal
Hallo zusammen,
 
mir wurde in einem anderen Forum geholfen.
hier der Link:
 
Nun hätte ich noch eine Frage.
 
Ich würde gerne zusätzlich für Textbox5 eine Prüfziffer mit anhängen nach jedem Call mainBarCoder also sollte dann so aussehen: TextBox5 + 001, Textbox5 + 002 usw. bis die Schleife eben abgeschlossen ist.
 
Hier nochmal der neue Code:
Code:
If CheckBox1.Value = True Then
             Worksheets("Retouren_Template").Range("J15") = "APP"
         Else
             Worksheets("Retouren_Template").Range("J15") = ""
         End If
     If (TextBox5.Text <> "" And CheckBox1.Value = True) Then GoTo weit
     On Error GoTo la
la:  If (TextBox5.Text = "" And CheckBox1.Value = True) Then
     TextBox5.Text = InputBox("Das Häkchen zum Versenden von Textil Kartons wurde gesetzt. Allerdings wurde keine Kartonanzahl angegeben. Bitte geben Sie im unteren Feld eine Anzahl zwischen 1 und 999 Kartons an oder klicken sie auf Abbrechen.")
        If TextBox5.Text = vbchancel Then GoTo weiter
        If TextBox5.Text = vbOK Then GoTo weit
        If CheckBox1.Value = False Then GoTo weiter
weit:
Dim x As Integer
For x = 1 To CInt(Me.TextBox5.Value)
      Call mainBarCoder(Worksheets("Retouren_Template").Range("B6"), Range("A3"), 50, 10)
                ActiveSheet.PrintOut Copies:=1
Next x
             End If