Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1208to1212
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
Inhaltsverzeichnis

userform im Querformat

userform im Querformat
Melanie
Hallo zusammen,
ich habe für mein Problem bereits eine Antwort in der Suche-Funktion gefunden (s.u.), aber ich bekomme eine Debugger-Meldung beim ausführen.
Wenn ich alle so mache, wie Nepumuk es vorgeschlagen hat, dann bleibt der Debugger in der Zeile
.Zoom = .Zoom + Choose(intIndex, 50, 10, 1)
mehrfach hängen. Ich komme zwar über 6-7 maliges "Fortfahren" zu meinem Ausdruck, aber ich möchte das natürlich bequemer haben. Gibt es eine Idee, wie ich das abstellen kann?
Gruß,
Melanie
*************************
Hallo Richard,
null Problemo. Folgenden Code in ein Standardmodul:
Option Explicit
Private Declare Function MapVirtualKey Lib "user32" Alias "MapVirtualKeyA" ( _
ByVal wCode As Long, _
ByVal wMapType As Long) As Long
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 VK_MENU = &H12
Private Const lngMargin = 1& 'Breite der Seitenränder in cm
Public Sub prcPrintForm(objForm As Object)
Dim intAltScan As Integer, intIndex As Integer
Application.ScreenUpdating = False
intAltScan = MapVirtualKey(VK_MENU, 0&)
keybd_event VK_MENU, intAltScan, 0&, 0&
keybd_event vbKeySnapshot, 0&, 0&, 0&
DoEvents
keybd_event VK_MENU, intAltScan, KEYEVENTF_KEYUP, 0&
ThisWorkbook.Worksheets.Add
Rows.RowHeight = 3
Columns.ColumnWidth = 0.83
With ActiveSheet
.Paste
With .PageSetup
.Orientation = IIf(objForm.Width > objForm.Height, 2, 1)
.LeftMargin = Application.CentimetersToPoints(lngMargin)
.RightMargin = Application.CentimetersToPoints(lngMargin)
.TopMargin = Application.CentimetersToPoints(lngMargin)
.BottomMargin = Application.CentimetersToPoints(lngMargin)
.HeaderMargin = Application.CentimetersToPoints(0)
.FooterMargin = Application.CentimetersToPoints(0)
.CenterVertically = True
.CenterHorizontally = True
.Zoom = 10
For intIndex = 1 To 3
Do Until ExecuteExcel4Macro("Get.Document(50)") > 1
------>                 .Zoom = .Zoom + Choose(intIndex, 50, 10, 1)
Loop
.Zoom = .Zoom - Choose(intIndex, 50, 10, 1)
Next
End With
.PrintOut
Application.DisplayAlerts = False
.Delete
Application.DisplayAlerts = True
End With
Application.ScreenUpdating = True
End Sub
Der Aufruf aus dem Userform z.B. so:
Private Sub CommandButton1_Click()
Call prcPrintForm(Me)
End Sub

Gruß
Nepumuk

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: userform im Querformat
05.04.2011 13:25:23
Melanie
Hallo Hajo,
ja, richtig.
Lt. Nepumuk liegt´s am Druckertreiber. Da der Code von Nepumuk ja grundsätzlich funktioniert, werde ich erst mal den Druckertreiber checken.
DANKE auf jeden Fall!
Gruß,
Melanie
AW: userform im Querformat
05.04.2011 12:15:16
Nepumuk
Hallo Melanie,
das Problem kommt vom Druckertreiber. Da hilft nur eins, den aktuellsten Treiber installieren.
Gruß
Nepumuk
Anzeige
AW: userform im Querformat
05.04.2011 13:20:58
Melanie
Hallo Nepumuk,
danke für den Tipp :-)
Ich werde das mal checken.
Gruß,
Melanie

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige