Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Seitenansicht per VBA einstellen

Forumthread: Seitenansicht per VBA einstellen

Seitenansicht per VBA einstellen
13.04.2005 15:58:52
Harald
Hallo zusammen,
wie lauten die VBA-Codes um in ganz kurzer Form folgende Einstellungen per Makro vorzunehmen:
Tabellenblatt1:
Druckbereich festlegen: A2:W69
Seitenansicht: Querformat; Seitenrand links: 1,5; Seitenrand recht: 1,5
Wenn ich es mit Makrorecorder aufzeichne, habe ich ein sehr langes Makro, welches sehr lange läuft bis ich weiter arbeiten kann.
Ich hoffe, dass mir jemand eine kurze und schnelle Lösung mitteilen kann.
Vielen Dank.
Gruß, Harald G.
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Seitenansicht per VBA einstellen
13.04.2005 16:08:08
udo
Hi Harald,
Du kannst zB. als erste Anweisung folgendes mit einfügen in deine lange Aufzeichnung
Application.ScreenUpdating = False
das beschleunigt so manche Anweisung enorm ...´
und des weiteren kannst du dann aus der Anweisung mal das eine oder Andere mit einem
Anführungszeichen zuvor am Anfang der zeile mal deaktiviéren, so siehst du wenn du das ganze laufen lässt wie sich dein Makro verhält usw. und welche der ganzen Aufzeichnung du davon überhaupt brauchst ...
Wenn du also das eine oder Andere mal deaktivierst, dann findest du gleich heraus ob sich dein Makro noch gleich verhält oder nicht, und lernst so auch autom. was man davon wegschmeissen kann ... ;-)
Gruß udo
Anzeige
AW: Seitenansicht per VBA einstellen
13.04.2005 17:01:44
Harald
Danke Udo,
ist zwar sehr umständlich, aber wenn keiner eine schnellere Lösung weiß, werde ich es so machen.
Vielen Dank.
Gruß, Harald.
reduce to the max
13.04.2005 21:16:25
ransi


      
hallo
sooo lang ist das makro nun auch wieder nicht.
habe auch mal den recorder angeschmissen.
herausgekommen ist das hier.
Option 
Explicit
Sub Makro1()
'
' Makro1 Makro
' Makro am 13.04.2005 von papa aufgezeichnet
'

'
   ' Range("A2:W69").Select
       ' With ActiveSheet.PageSetup
       ' .PrintTitleRows = ""
       ' .PrintTitleColumns = ""
    'End With
   ' ActiveSheet.PageSetup.PrintArea = ""
    With ActiveSheet.PageSetup
       
' .LeftHeader = ""
       ' .CenterHeader = ""
       ' .RightHeader = ""
       ' .LeftFooter = ""
       ' .CenterFooter = ""
       ' .RightFooter = ""
        .LeftMargin = Application.InchesToPoints(0.590551181102362)
        .RightMargin = Application.InchesToPoints(0.590551181102362)
       
' .TopMargin = Application.InchesToPoints(0.984251968503937)
       ' .BottomMargin = Application.InchesToPoints(0.984251968503937)
       ' .HeaderMargin = Application.InchesToPoints(0.511811023622047)
       ' .FooterMargin = Application.InchesToPoints(0.511811023622047)
       ' .PrintHeadings = False
       ' .PrintGridlines = False
       ' .PrintComments = xlPrintNoComments
       ' .PrintQuality = 300
       ' .CenterHorizontally = False
       ' .CenterVertically = False
         .Orientation = xlLandscape
       
' .Draft = False
       ' .PaperSize = xlPaperA4
       ' .FirstPageNumber = xlAutomatic
       ' .Order = xlDownThenOver
       ' .BlackAndWhite = False
       ' .Zoom = 100
       ' .PrintErrors = xlPrintErrorsDisplayed
    End With
End Sub
ungetestet, aber ich glaube das auskommentierte kannst du löschen.
was dann übrigbleibt ist nicht mehr das meiste.
Ein wenig angepasst bleibt dann nur noch:
Sub Makro1()
        
With ActiveSheet.PageSetup
            .PrintArea = 
"$A$2:$W$69"
            .LeftMargin = Application.InchesToPoints(0.590551181102362)
            .RightMargin = Application.InchesToPoints(0.590551181102362)
            .Orientation = xlLandscape
         
End With
    
'MsgBox ActiveSheet.PageSetup.PrintArea
End Sub
ransi 


Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Seitenansicht in Excel per VBA einrichten


Schritt-für-Schritt-Anleitung

Um die Seitenansicht in Excel per VBA schnell und effizient einzustellen, kannst du den folgenden VBA-Code verwenden. Dieser Code legt den Druckbereich fest, stellt das Seitenlayout auf Querformat ein und passt die Seitenränder in cm an.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Füge ein neues Modul hinzu, indem du mit der rechten Maustaste auf "VBAProject (DeineDatei.xlsx)" klickst und "Einfügen" > "Modul" wählst.
  3. Kopiere und füge den folgenden Code in das Modul ein:

    Sub SeitenlayoutAnpassen()
       With ActiveSheet.PageSetup
           .PrintArea = "$A$2:$W$69"
           .Orientation = xlLandscape
           .LeftMargin = Application.CentimetersToPoints(1.5)
           .RightMargin = Application.CentimetersToPoints(1.5)
       End With
    End Sub
  4. Schließe den VBA-Editor und führe das Makro aus, indem du ALT + F8 drückst, das Makro auswählst und auf "Ausführen" klickst.

Häufige Fehler und Lösungen

  • Fehler: "Das Makro kann nicht ausgeführt werden."

    • Lösung: Stelle sicher, dass Makros in Excel aktiviert sind. Gehe zu "Datei" > "Optionen" > "Trust Center" > "Einstellungen für das Trust Center" > "Makroeinstellungen" und aktiviere die entsprechenden Optionen.
  • Fehler: Seitenränder werden nicht korrekt angezeigt.

    • Lösung: Überprüfe, ob du die Maßeinheit in Zentimetern eingestellt hast. Du kannst die Seitenränder in cm umstellen, indem du im Code Application.CentimetersToPoints verwendest.

Alternative Methoden

Wenn du das Excel-Seitenlayout anpassen möchtest, gibt es auch andere Wege:

  1. Manuelles Anpassen: Gehe zu "Seitenlayout" > "Seitenränder" > "Benutzerdefinierte Seitenränder", um die Seitenränder manuell zu definieren.
  2. Verwendung des Makrorecorders: Du kannst den Makrorecorder verwenden, um deine Aktionen aufzuzeichnen. Beachte jedoch, dass die resultierenden Makros oft länger und weniger effizient sind.

Praktische Beispiele

Hier sind einige praktische Beispiele für die Verwendung des VBA-Codes:

  1. Druckbereich anpassen: Du kannst den Druckbereich ändern, indem du die Zeilen im Code anpasst:

    .PrintArea = "$A$1:$D$50"
  2. Seitenränder in cm umstellen: Wenn du andere Seitenränder möchtest, ändere die Werte in Application.CentimetersToPoints():

    .LeftMargin = Application.CentimetersToPoints(2)

Tipps für Profis

  • Verwende Application.ScreenUpdating = False zu Beginn deines Makros, um die Ausführung zu beschleunigen.
  • Kommentiere Teile deines Codes aus, um herauszufinden, welche Einstellungen wirklich notwendig sind.
  • Halte deinen Code sauber und übersichtlich, indem du nur die benötigten Zeilen beibehältst.

FAQ: Häufige Fragen

1. Wie kann ich die Seitenränder in cm umstellen?
Du kannst die Seitenränder in cm anpassen, indem du im VBA-Code die Funktion Application.CentimetersToPoints() verwendest, um die Werte zu setzen.

2. Kann ich mehrere Druckbereiche im selben Makro festlegen?
Ja, du kannst mehrere Druckbereiche festlegen, indem du den PrintArea-Befehl mehrmals im Code verwendest oder mehrere Worksheets in einem Makro ansprichst.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige