Clever-Excel-Forum

Normale Version: in UserForm rechnen und drucken
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen.

Ich habe da so eine Vorstellung und weiß aber nicht, ob sich das so umsetzten lässt. Da ich mit dem programmieren von Makro´s noch Anfänger bin, wollte ich euch fragen ob ihr vielleicht eine Lösung habt.

Ich habe eine DIN A4-Seite erstellt. Auf dieser Seite sind 3 gleiche Abschnitte drauf. Es geht darum zu berechnen wie oft diese Seite gedruckt werden muss um eine bestimmte Anzahl von Abschnitten zu bekommen.


1. Überlegung:
Ich habe eine UserForm erstellt. Darin ist eine TextBox, wo ein Wert eingetragen wird. Den Wert der TextBox möchte ich jetzt durch 3 Teilen. Das Ergebnis soll aufgerundet werden.
Dieses Ergebnis soll in einem Label mit vorgegebenen Text angezeigt werden. ("Es werden 6 Seiten gedruckt!").

Beispiel: "17" (Eintrag in Textbox) Abschnitte / "3" (Anzahl Abschnitte auf der Seite) = 5,67 (Aufgerundet 6 Seiten, die ausgedruckt werden müssen)

2. Überlegung:
Wenn ich auf den CommantButton klicke, soll eine Druckerauswahl aufgehen, wo ich meine installierten Drucker auswählen kann. Wenn der Drucker ausgewählt wurde, soll er mir die errechnete Anzahl (in diesem Fall "6" Seiten) ausdrucken.

Ist das so machbar?

Vielen Dank im Voraus für eure Hilfe!

Gruß, radkappe22
Hallo,

das könnte z.B. so aussehen:

Option Explicit

Private Sub CommandButton1_Click()
 If Application.Dialogs(xlDialogPrinterSetup).Show Then
   Me.Hide
   ActiveSheet.PrintOut Copies:=Label1.Tag
   Me.Show
 End If
End Sub

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
 If IsNumeric(TextBox1) Then
   Label1.Tag = Application.RoundUp(TextBox1 / 3, 0)
   Label1 = "Es werden " & Label1.Tag & " Seiten gedruckt!"
 Else
   TextBox1 = ""
   Cancel = True
 End If
End Sub

Code eingefügt mit: Excel Code Jeanie


Gruß Uwe
Hallo Uwe.

Vielen Dank für deine schnelle Hilfe. Das ist genau das, was ich gesucht habe. Eine Frage noch. Wo muss ich den Befehl "Unload UserForm1" eintragen, damit sich das UserForm nach dem Druckanstoß schließt?

Gruß
Hallo,

Private Sub CommandButton1_Click()
 If Application.Dialogs(xlDialogPrinterSetup).Show Then
   Me.Hide
   ActiveSheet.PrintOut Copies:=Label1.Tag
   Unload Me
 End If
End Sub


Gruß Uwe
Hallo Uwe.

Vielen Dank für die Unterstützung. Es hat mir sehr geholfen.

Gruß