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

Forumthread: Spalten auf eine Seite

Spalten auf eine Seite
Gregor
Hallo zusammen
Ich habe folgendes Makro zum Drucken geschrieben. Zusätzlich möchte ich noch folgende Befehle integrieren:
- Querformat
- Alle Spalten auf einer Seite darstellen
Wie muss ich den Code ergänzen?

Sub Drucken()
Application.EnableEvents = False
Application.ScreenUpdating = False
Application.PrintCommunication = False
With ActiveSheet
.PageSetup.PaperSize = xlPaperA4
.PageSetup.PrintTitleRows = "$1:$1"
.PageSetup.PrintArea = "A2:" & ActiveCell.CurrentRegion.Cells(ActiveCell.CurrentRegion. _
Cells.Count).Address
.PrintOut Copies:=1, Copies:=1, Collate:=True, IgnorePrintAreas:=False
.PageSetup.PrintArea = ""
End With
Application.PrintCommunication = True
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub

Vielen Dank und Gruss
Gregor
Anzeige

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

Betreff
Benutzer
Anzeige
das sagt dir der Recorder. owT
15.07.2011 11:31:03
Rudi
AW: das sagt dir der Recorder. owT
15.07.2011 11:48:26
Gregor
Hallo Rudi
Das habe ich vorgängig im Office 10 aufgezeichnet, aber da kommen so viele Aufzeichnungen, dass ich den/die wirklichen Befehle nicht ausfindig machen konnte ... leider.
Wäre also um eine Unterstützung dankbar.
Gruss Gregor
AW: das sagt dir der Recorder. owT
15.07.2011 12:34:32
Rudi
Hallo,
Sub Drucken()
With Application
.EnableEvents = False
.ScreenUpdating = False
' .PrintCommunication = False
End With
With ActiveSheet
With .PageSetup
.PaperSize = xlPaperA4
.PrintTitleRows = "$1:$1"
.PrintArea = Range("A2").CurrentRegion.Address
.Orientation = xlLandscape
      .FitToPagesTall = False
.FitToPagesWide = 1
.Zoom = False
End With
.PrintOut Copies:=1, Copies:=1, Collate:=True, IgnorePrintAreas:=False
.PageSetup.PrintArea = ""
End With
With Application
'.PrintCommunication = True
.EnableEvents = True
.ScreenUpdating = True
End With
End Sub

Gruß
Rudi
Anzeige
AW: das sagt dir der Recorder. owT
15.07.2011 13:38:46
Gregor
Rudi vielen Dank, klappt bestens.
Gruss Gregor
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Spalten auf eine Seite drucken in Excel


Schritt-für-Schritt-Anleitung

Um in Excel alle Spalten auf einer Seite zu drucken, kannst du ein VBA-Makro verwenden. Hier ist eine Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Klicke auf Einfügen > Modul, um ein neues Modul zu erstellen.

  3. Kopiere den folgenden VBA-Code und füge ihn in das Modul ein:

    Sub Drucken()
        With Application
            .EnableEvents = False
            .ScreenUpdating = False
        End With
        With ActiveSheet
            With .PageSetup
                .PaperSize = xlPaperA4
                .PrintTitleRows = "$1:$1"
                .PrintArea = Range("A2").CurrentRegion.Address
                .Orientation = xlLandscape
                .FitToPagesTall = False
                .FitToPagesWide = 1
                .Zoom = False
            End With
            .PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False
            .PageSetup.PrintArea = ""
        End With
        With Application
            .EnableEvents = True
            .ScreenUpdating = True
        End With
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu Excel.

  5. Führe das Makro aus, indem du ALT + F8 drückst, das Makro „Drucken“ auswählst und auf „Ausführen“ klickst.

Dieses Makro stellt sicher, dass alle Spalten auf einer Seite im Querformat gedruckt werden.


Häufige Fehler und Lösungen

  • Fehler: Druckbereich wird nicht korrekt erkannt

    • Lösung: Stelle sicher, dass der Druckbereich richtig definiert ist. Überprüfe den Bereich in der Zeile .PrintArea = Range("A2").CurrentRegion.Address.
  • Fehler: Seitenformatierung stimmt nicht

    • Lösung: Vergewissere dich, dass die Option .Orientation auf xlLandscape gesetzt ist und die Breite auf eine Seite angepasst wird.

Alternative Methoden

Wenn du kein VBA verwenden möchtest, kannst du auch die Druckoptionen in Excel nutzen:

  1. Gehe zu Seitenlayout > Drucken.
  2. Wähle unter „Seitenanpassung“ die Option „Alle Spalten auf einer Seite“.
  3. Stelle sicher, dass das Format auf Querformat eingestellt ist.

Diese Methode ist weniger flexibel, funktioniert aber gut für einfache Dokumente.


Praktische Beispiele

Ein Beispiel zur Verwendung des oben genannten Makros:

  • Angenommen, du hast eine Tabelle mit den Spalten A bis Z und möchtest sicherstellen, dass beim Druck alles auf eine Seite passt. Mit dem VBA-Makro wird dies automatisch angepasst, ohne dass du manuell eingreifen musst.

Tipps für Profis

  • Experimentiere mit der .Zoom-Eigenschaft, um die Druckgröße weiter anzupassen. Dies kann nützlich sein, wenn du eine bestimmte Schriftgröße beibehalten möchtest.
  • Verwende die Funktion PrintPreview, um eine Vorschau des Drucklayouts zu erhalten, bevor du den Druckbefehl ausführst.

FAQ: Häufige Fragen

1. Wie kann ich das Makro ändern, um nur bestimmte Spalten zu drucken? Du kannst den Druckbereich in der Zeile .PrintArea anpassen, um nur die gewünschten Spalten anzugeben, z.B. .PrintArea = "A2:C10".

2. Funktioniert dieses Makro in allen Excel-Versionen? Das VBA-Makro sollte in den meisten modernen Excel-Versionen, einschließlich Excel 2010 und neuer, funktionieren. Achte darauf, dass die VBA-Einstellungen aktiviert sind.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige