Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
808to812
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
808to812
808to812
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

User Form ausdrucken

User Form ausdrucken
13.10.2006 10:35:50
Bernd
Liebe Excel-Community,
ich würde gerne eine UserForm ausdrucken. Nur leider druckt das Makro "ActiveSheet.PrintOut" die Excel-Tabelle aus und nicht die UserForm.
https://www.herber.de/bbs/user/37362.xls
Aber sicherlich weiss ein Profi unter Euch Rat und will mir zur Seite stehen.
Vielen Dank vorab.
Bernd

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: User Form ausdrucken
13.10.2006 11:39:49
Wolfgang
Hallo Bernd
Ich habe da ein Makro, was ich aus dem Forum habe. Probier es doch mal.
Bei mir hat es sehr gut funktioniert.
Ich habe es bei sehr großen UserForm angewendet.
Es wird im Querformat gedruckt passend für die ganze Seite.
Option Explicit
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Private Const KEYEVENTF_KEYUP = &H2
Private Const KEYEVENTF_EXTENDEDKEY = &H1
Private Const VK_SNAPSHOT = &H2C
Private Const VK_MENU = &H12
Private Const VK_LMENU = &HA4

Private Sub CommandButton1_Click()
Dim wshTemp As Worksheet
DoEvents
keybd_event VK_LMENU, 0, KEYEVENTF_EXTENDEDKEY, 0
keybd_event VK_SNAPSHOT, 0, KEYEVENTF_EXTENDEDKEY, 0
keybd_event VK_SNAPSHOT, 0, KEYEVENTF_EXTENDEDKEY + KEYEVENTF_KEYUP, 0
keybd_event VK_LMENU, 0, KEYEVENTF_EXTENDEDKEY + KEYEVENTF_KEYUP, 0
DoEvents
ThisWorkbook.Worksheets.Add
ActiveSheet.Name = "Temp"
Set wshTemp = ThisWorkbook.Worksheets("Temp")
With wshTemp
.Paste
.PageSetup.Orientation = xlLandscape
.PrintOut
.DrawingObjects.Delete
End With
Application.DisplayAlerts = False
ThisWorkbook.Worksheets("Temp").Delete
Application.DisplayAlerts = True
End Sub

Ich hoffe es hilft Dir
Gruß Wolfgang
Anzeige
Bitte weiter um Hilfe
13.10.2006 12:04:20
Bernd
Leider funktioniert der Code von Wolfgang nicht. Ich habe ihn eingebunden (Command-Button 5), aber es kommt eine Fehlermeldung:
Userbild
Hier die Datei mit dem Code von Wolfgang:

Die Datei https://www.herber.de/bbs/user/37365.xls wurde aus Datenschutzgründen gelöscht

Bitte um weitere Hilfe.
Danke, Bernd.
AW: Bitte weiter um Hilfe
13.10.2006 12:16:41
otto
Hi,
funktioniert, die Deklarationen mit Private Declare Function... müssen an den Anfang gleich nach Option Explicit.
Gruß
otto
AW: Bitte weiter um Hilfe
13.10.2006 12:20:38
Daniel Eisert
Hallo
alles was mit "Privat Declare" oder "Private Const" anfängt, darf nicht innerhalb einer Prozedur stehen, dh. es sollte ab besten direkt nach "Option Explicit" stehen. (So wie es Wolfgang ja auch gepostet hat.)
du hast den gesamten Code aber innerhalb einer Prozedur eingefügt (dh. direkt nach SUB Commandbutton...), daher kommt es zur Fehlermeldung.
Verschiebe den Teil des Codes mal und es sollte funktionieren.
Gruß, Daniel
Anzeige
Klappt - es fehlt - alles auf ein Blatt drucken
13.10.2006 14:14:07
Bernd
Vielen Dank noch einmal an Wolfgang und Daniel.
Ihr hattet recht. Klappt jetzt. Was ich aber noch bräuchte ist ein Befehl, dass der Ausdruck so eingestellt wird, um die Userfrom auf ein einziges Blatt zu drucken.
Ich habe mein Problem mal an unten stehender Datei nachgebildet, indem ich die Userform künstlich unnötig erweitert habe (die Userform, in der ich den Code einbaute, ist deutlich größer als das neutrale Beispiel, das ich hochgeladen habe).
https://www.herber.de/bbs/user/37369.xls
Grüße und Danke!!
Bernd
AW: Klappt - .PageSetup.Zoom = 85 einfügen
13.10.2006 18:01:05
Wolfgang
Hallo Bernd,
wenn Du " .PageSetup.Zoom = 85 " mit in das Makro einfügst wird das Temp Bild so verkleinert das es auf ein Blatt passen müßte.
Es kann von der UserForm nur von dem Bereich ein Abbild hergestellt werden das auch auf dem Bildschirm sichtbar ist.
Das heißt Deine UserForm ragt bei mir zum Beispiel rechts aus dem Bildschirm wird also auch nicht abfotografiert und kann dem zufolge auch nicht gedruckt werden.
Da nützt auch das anschließende Zoomen nichts.
Ich es hilft Dir
Gruß Wolfgang
Anzeige
AW: Klappt - .PageSetup.Zoom = 85 einfügen
15.10.2006 18:39:13
Bernd
Danke Dir sehr Wolfgang. Hast mir sehr geholfen. Auch für deine Erläuterung vielen Dank.
Alles Gute für Dich.
Bernd

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige