Excel VBA Druckvorschau?
Hallo, wie kann ich eine benutzerdefinierte Seite (Tabellenblatt) über einen Button in der Userform in der Druckvorschau anzeigen lassen?
Einen Weg habe ich bereits gefunden, Problem ist nur, dass die Userform selbst auf der Druckvorschau erscheint und ich die Maske (Userform) nicht beenden kann.
Der weg ist folgender:
Private Sub btndruckvorschau_Click()
Worksheets("Beispiel").PrintPreview
End sub
2 Antworten
Ein Problem ist, dass ein UserForm standardmäßig Modal angezeigt wird, also den Code von anderen Fenstern pausiert, solange es geöffnet ist. Das kannst du in den Eigenschaften vom UserForm einstellen. Stell die Eigenschaft "ShowModal" auf False.
Das zweite Problem ist, dass das UserForm im Weg ist, wenn man die Druckvorschau öffnet. Du könntest natürlich das UserForm beiseite schieben, bevor du den Button klickst, aber man das UserForm auch unsichtbar machen und später wieder sichtbar machen.
Etwa so:
Private Sub btndruckvorschau_Click()
UserForm1.Hide
Worksheets("Beispiel").PrintPreview
UserForm1.Show
End Sub
Ich kann es dir nicht 100%ig sagen, aber ziemlich wahrscheinlich geht das nicht. Die Druckvorschau öffnet sich selbst ja auch modal. Was vielleicht funktionieren könnte ist, wenn du jeweils eine Excel für das Formular und eine für die Tabellen hast. Ich kann es leider nicht testen, weil ich jetzt im Urlaub bin und keinen Laptop dabei hab
Vor dem Öffnen der Druckvorschau legst du per VBA den Druckbereich fest.....
Private Sub btndruckvorschau_Click()
With ActiveSheet.PageSetup
.PrintArea = "A1:C20"
End With
Worksheets("Beispiel").PrintPreview
End Sub
Welcher Bereich gedruckt werden soll, musst du auf deine Bedürfnisse anpassen.
Das Problem ist nur, dass die Userform immer noch mit auf die Druckansicht gelangt und ich die Ansicht nicht schließen kann
Hi, Danke erstmal für deinen Kommentar, das hat mir sehr geholfen!!! Ist es möglich, die Userform in der PrintPreview "aktiviert" zu lassen, sprich das man von da aus das Dokument steuern kann?