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

Ganze Arbeitsmappe drucken per Schaltfläche

Forumthread: Ganze Arbeitsmappe drucken per Schaltfläche

Ganze Arbeitsmappe drucken per Schaltfläche
30.10.2003 12:20:42
Christian M
Hallo

ich würde mir gerne die erforderlichen Schritte über Menue drucken, "ganze Arbeitsmappe drucken"
ersparen. Lieber wäre mit eine Schaltfläche auf dem 1. Blatt oder letzten Blatt. Das reguläre Druck-
Menue sollte dann gesperrt sein.

Gibt es hier eine elegante Lösung.

Würd mich freuen, wenn mir jemand helfen könnte

Grüsse

Christian
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ganze Arbeitsmappe drucken per Schaltfläche
30.10.2003 13:19:54
Andi_H
Hi Christian,
diesen Code in ein Modul und dann das Makro MappeDrucken starten oder in einen Button und den Button mit diesem Code hinterlegen: Call MappeDrucken


Sub MappeDrucken()
Application.ScreenUpdating = False
Dim ws As Worksheet
Dim i,x as Integer
i = Worksheets.Count
For x = 1 To i
Workbooks(x).Activate
For Each ws In ActiveWorkbook.Worksheets
ws.Select
ws.PrintOut
Next
Next
Application.ScreenUpdating = True
End Sub

Anzeige
AW: Ganze Arbeitsmappe drucken per Schaltfläche
30.10.2003 13:21:31
Andi_H
Hi nochmal,

hab gard festgestellt das ich dir zuviel Code gegeben hab, eigentlich reicht dieser TEil:


Sub MappeDrucken()
Application.ScreenUpdating = False
Dim ws As Worksheet
Dim i as Integer
i = Worksheets.Count
For Each ws In ActiveWorkbook.Worksheets
ws.Select
ws.PrintOut
Next
Application.ScreenUpdating = True
End Sub


der erste Code druckt alle sheets aller geöffneten Arbeitsmappen

Gruß
Andi
Anzeige
Wer lesen kann ist klar im Vorteil ...
30.10.2003 13:29:52
Andi_H
So, Button Drucken sperren hatte ich wohl überlesen:
diesen Code in DieseArbeitsmappe
Druckfunktion ist dann nicht gesperrt sondern druckt automatisch alle sheet


Private Sub Workbook_BeforePrint(Cancel As Boolean)
Cancel = True
Application.EnableEvents = False
Application.ScreenUpdating = False
Dim ws As Worksheet
Dim i, x As Integer
i = Worksheets.Count
For Each ws In ActiveWorkbook.Worksheets
ws.Select
ws.PrintOut
Next
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub


soll der Druckbutton gesperrt werden und du willst über butto nausdrucken würde so aussehen:


Private Sub Workbook_BeforePrint(Cancel As Boolean)
Cancel = True
End Sub


und diesen Code in den Button:
Application.EnableEvents = False
Application.ScreenUpdating = False
Dim ws As Worksheet
Dim i, x As Integer
i = Worksheets.Count
For Each ws In ActiveWorkbook.Worksheets
ws.Select
ws.PrintOut
Next
Application.ScreenUpdating = True
Application.EnableEvents = True

hoffentlich hab ich jetzt nicht wieder was vergessen,

Gruß

Andi
Anzeige
AW: Ganze Arbeitsmappe drucken per Schaltfläche
30.10.2003 13:57:25
Christian
Hi Andy

danke, du hast mir sehr geholfen, klappt prima!

Ich will dich ja nicht überstrapazieren, aber gibt es eine Möglichkeit, dass nach öffen einer Arbeitsmappe eine bestimmte
Zelle (E9) auf dem 1. Blatt aktiviert wird, wobei aber Blattname und auch Anzahl Blätter variabel ist. Mit entsprechendem
abspeichern ist mir klar, ab vielleicht geht es auch anders.

Vielen Dank und Grüße

Christian
Anzeige
AW: Ganze Arbeitsmappe drucken per Schaltfläche
30.10.2003 14:26:28
Andi_H
Hi Christian,

klar geht das, diesen Code in DieseArbeitsmappe:


Private Sub Workbook_Open()
sheets(1).cells(9,5).select
End Sub


sheets(1) ist das erste Sheet in der Mappe, egal welchen Namen es hat
die Zelle kannst du selbst bestimmen cells(Zeile,SPalte).select

Gruß aus Regensburg,

Andi
Anzeige
AW: Ganze Arbeitsmappe drucken per Schaltfläche
30.10.2003 15:23:57
Christian
Hi Andy

herzlichen Dank, klappt prima!

Gruss: Christian
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Ganze Arbeitsmappe drucken per Schaltfläche


Schritt-für-Schritt-Anleitung

Um die gesamte Excel-Arbeitsmappe per Schaltfläche zu drucken, kannst du die folgenden Schritte befolgen:

  1. Öffne Excel und lade die Arbeitsmappe, die du drucken möchtest.

  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Füge ein neues Modul hinzu:

    • Klicke im Menü auf Einfügen > Modul.
  4. Kopiere den folgenden VBA-Code in das Modul:

    Sub MappeDrucken()
       Application.ScreenUpdating = False
       Dim ws As Worksheet
       For Each ws In ActiveWorkbook.Worksheets
           ws.Select
           ws.PrintOut
       Next
       Application.ScreenUpdating = True
    End Sub
  5. Füge einen Button hinzu:

    • Gehe zurück zu deinem Arbeitsblatt und wähle Entwicklertools > Einfügen > Button.
    • Zeichne den Button auf dem Blatt.
  6. Weise das Makro zu:

    • Klicke mit der rechten Maustaste auf den Button und wähle Makro zuweisen.
    • Wähle MappeDrucken aus der Liste aus und klicke auf OK.
  7. Sperre das Druckmenü:

    • Füge folgenden Code in DieseArbeitsmappe ein:
    Private Sub Workbook_BeforePrint(Cancel As Boolean)
       Cancel = True
    End Sub

Jetzt kannst du die Schaltfläche nutzen, um die gesamte Arbeitsmappe zu drucken, ohne dass das Druckmenü geöffnet wird.


Häufige Fehler und Lösungen

  • Fehler: Nichts passiert beim Klicken auf den Button
    Lösung: Stelle sicher, dass du das Makro korrekt zugewiesen hast. Überprüfe auch, ob die Makros in Excel aktiviert sind.

  • Fehler: Einige Blätter werden nicht gedruckt
    Lösung: Überprüfe, ob die Blätter sichtbar sind. Versteckte Blätter werden standardmäßig nicht gedruckt.


Alternative Methoden

  1. Direkter Druck über die Symbolleiste: Du kannst die Arbeitsmappe auch direkt über die Symbolleiste drucken, indem du Datei > Drucken wählst.
  2. Drucken mit einer Tastenkombination: Drücke Strg + P, um das Druckmenü zu öffnen und die Einstellungen vorzunehmen.

Praktische Beispiele

Hier sind Beispiele für verschiedene Szenarien:

  • Drucken einer bestimmten Arbeitsmappe: Wenn du nur bestimmte Blätter drucken möchtest, kannst du den Code entsprechend anpassen:

    Sub BestimmteBlätterDrucken()
       Application.ScreenUpdating = False
       Dim ws As Worksheet
       For Each ws In ActiveWorkbook.Worksheets
           If ws.Name = "Blatt1" Or ws.Name = "Blatt2" Then
               ws.PrintOut
           End If
       Next
       Application.ScreenUpdating = True
    End Sub
  • Drucken im Hintergund: Um die Benutzeroberfläche nicht zu blockieren, kannst du den Druckvorgang im Hintergrund ausführen lassen.


Tipps für Profis

  • Automatisiere den Druckprozess: Du kannst den Druckprozess so einstellen, dass er automatisch beim Öffnen der Arbeitsmappe startet.
  • Verwende die PrintOut-Methode: Diese Methode bietet dir viele Optionen, wie das Drucken in bestimmten Formaten oder das Festlegen von Seitenbereichen.

FAQ: Häufige Fragen

1. Wie kann ich die Druckvorschau anzeigen, bevor ich drucke?
Du kannst die Druckvorschau anzeigen, indem du ActiveSheet.PrintPreview im VBA-Code verwendest.

2. Was muss ich tun, wenn ich nur bestimmte Seiten drucken möchte?
Ändere den PrintOut Befehl, um nur die gewünschten Seiten zu drucken, z.B. ws.PrintOut From:=1, To:=2 für die Seiten 1 bis 2.

3. Ist dieses Verfahren in allen Excel-Versionen verfügbar?
Ja, das Drucken der gesamten Arbeitsmappe per Schaltfläche ist in den meisten Versionen von Excel möglich, einschließlich Excel 2010 bis 2021 und Office 365.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige