VBA: automatisch Portrait oder Landscape

13/03/2014 - 15:25 von Hans Alborg | Report spam
Hallo,

[Excel 2007]

ich erzeuge eine sehr große Tabelle wo drucken "einklich" keinen Sinn mehr
macht.
Also dachte ich mir: 'kannste wenigstens interessante Ausschnitte markieren
und die drucken'.

Der simple Code:
' -
Sub Druckbereich()
With ActiveSheet
.PageSetup.PrintArea = Selection.Address
.PageSetup.Orientation = xlLandscape
.PageSetup.BlackAndWhite = True
.Range("B32").Select
End With
End Sub
'
wird einfach per Button ausgelöst. Dabei wird mein vorher markierter Bereich
als Druckbereich erfaßt.
Das Ganze wird noch zu Schwarzweiss gewandelt.

Jetzt würde ich gern haben daß Portrait oder Landscape automatisch benutzt
wird, je nachdem ob die Höhe oder Breite meiner Auswahl größer ist.
Da ich mir mit obigem Code keine Gedanken um Position und Größe meines
"Selection.Adress" machen muß weiß ich jetzt nicht weiter.
Gibt es da was Einfaches um meine Idee auszuführen?

TIA,
Hans
 

Lesen sie die antworten

#1 Claus Busch
13/03/2014 - 15:36 | Warnen spam
Hallo Hans,

Am Thu, 13 Mar 2014 15:25:10 +0100 schrieb Hans Alborg:

Jetzt würde ich gern haben daß Portrait oder Landscape automatisch benutzt
wird, je nachdem ob die Höhe oder Breite meiner Auswahl größer ist.
Da ich mir mit obigem Code keine Gedanken um Position und Größe meines
"Selection.Adress" machen muß weiß ich jetzt nicht weiter.



probiers mal so:

With ActiveSheet.PageSetup
.PrintArea = Selection.Address
.Orientation = IIf(Selection.Width > Selection.Height, _
xlLandscape, xlPortrait)
.BlackAndWhite = True
End With


Mit freundlichen Grüßen
Claus
Win XP Prof SP3 / Vista Ultimate SP2
Office 2003 SP3 /2007 Ultimate SP3

Ähnliche fragen