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

VBA Drucken bestimmter bereich

Forumthread: VBA Drucken bestimmter bereich

VBA Drucken bestimmter bereich
11.10.2016 16:04:33
Addi
Hallo Zusammen,
ich stehe auf dem Schlauch...
...ich möchte per Makro mein aktuelles Sheet von der Zelle A7 bis zur "letzten Zelle des Sheets) - welche man mit Strg+END ermitteln kann ausdrucken.
Diesen Code möchte ich dann hinter einen Button hängen.
Könnt Ihr mir bei dem Coding helfen?
Vielen Dank und Gruß
Addi
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: VBA Drucken bestimmter bereich
12.10.2016 16:58:29
Addi
Hi Drummer,
leider komme ich damit nicht weiter...hast Du oder vllt. jmd anderes ein Coding parat...?
Dürften ja eigentlich nur ein paar Zeilen sein...ich bekomme es einfach nicht hin die Variable (letzte Zelle im Sheet) in der Range für den PrintOut zu hinterlegen...?
Vielen Dank und Gruß
Addi
Anzeige
AW: VBA Drucken bestimmter bereich
12.10.2016 17:14:02
Dieter(Drummer)
Hallo Addi,
da kann cih leider nicht weiter helfen. Ich denke, dass in diesem Forum da jemand helfen könnte.
Gruß, Dieter(Drummer)
AW: VBA Drucken bestimmter bereich
13.10.2016 07:52:59
Addi
Hi Drummer,
mir wurde hier im Forum schon bei weitaus schwierigeren und umfangreicheren Dingen weitergeholfen...das zur Qualität des Forums!!! ... echt Klasse!!
Aber kein Thema, vllt bekomme ich ja noch ein Geistesblitz.
Dennoch vielen Dank für Deine Bemühungen!!!
Viele Grüße
Addi
Anzeige
AW: Danke für Rückmeldung. owT
13.10.2016 08:10:44
Dieter(Drummer)
AW: VBA Drucken bestimmter bereich
13.10.2016 08:36:01
KlausF
Hallo Addi,
könnte so klappen:
Sub Drucken()
Dim lastCell As Range
Dim intCol As Integer
Dim lngLast As Long
Set lastCell = ActiveSheet.Cells.Find(What:="*", After:=ActiveSheet.Range("A7"), _
LookIn:=xlFormulas, lookat:=xlWhole, searchorder:=xlByRows, searchdirection:=xlPrevious)
intCol = lastCell.Column
lngLast = lastCell.Row
Dim rngPrint As Range
Set rngPrint = ActiveSheet.Range("A7", Cells(lngLast, intCol))
ActiveSheet.PageSetup.PrintArea = rngPrint.Address
With ActiveSheet.PageSetup
'.Orientation = xlLandscape  'Querformat
.Orientation = xlPortrait  'Hochformat
'___________________________
'Druck auf eine Seite:
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
.CenterHorizontally = True
.CenterVertically = False
End With
ActiveSheet.PrintPreview
'oder
'ActiveSheet.PrintOut From:=1, To:=1, Copies:=1
ActiveSheet.DisplayAutomaticPageBreaks = False
Set lastCell = Nothing
Set rngPrint = Nothing
End Sub
Gruß
Klaus
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

VBA Drucken eines bestimmten Bereichs in Excel


Schritt-für-Schritt-Anleitung

Um einen bestimmten Bereich in Excel mittels VBA zu drucken, kannst du die folgenden Schritte befolgen:

  1. Öffne den VBA-Editor: Drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.

  2. Neues Modul erstellen: Klicke auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.

  3. Code einfügen: Kopiere den folgenden VBA-Code in das Modul:

    Sub Drucken()
       Dim lastCell As Range
       Dim intCol As Integer
       Dim lngLast As Long
       Set lastCell = ActiveSheet.Cells.Find(What:="*", After:=ActiveSheet.Range("A7"), _
           LookIn:=xlFormulas, lookat:=xlWhole, searchorder:=xlByRows, searchdirection:=xlPrevious)
       intCol = lastCell.Column
       lngLast = lastCell.Row
       Dim rngPrint As Range
       Set rngPrint = ActiveSheet.Range("A7", Cells(lngLast, intCol))
       ActiveSheet.PageSetup.PrintArea = rngPrint.Address
       With ActiveSheet.PageSetup
           .Orientation = xlPortrait  'Hochformat
           .Zoom = False
           .FitToPagesWide = 1
           .FitToPagesTall = 1
           .CenterHorizontally = True
           .CenterVertically = False
       End With
       ActiveSheet.PrintPreview
       'oder
       'ActiveSheet.PrintOut From:=1, To:=1, Copies:=1
       ActiveSheet.DisplayAutomaticPageBreaks = False
       Set lastCell = Nothing
       Set rngPrint = Nothing
    End Sub
  4. Makro ausführen: Schließe den VBA-Editor und gehe zurück zu Excel. Du kannst das Makro jetzt über die Entwicklertools oder durch einen Button, den du in dein Arbeitsblatt einfügst, ausführen.


Häufige Fehler und Lösungen

  • Fehler: "Find" findet keine Zelle
    Lösung: Stelle sicher, dass in dem Bereich, den du durchsuchen möchtest, tatsächlich Daten vorhanden sind.

  • Fehler: Druckbereich wird nicht korrekt gesetzt
    Lösung: Überprüfe, ob die A7-Zelle tatsächlich die Startzelle deines Druckbereichs ist. Ändere gegebenenfalls die Referenz.

  • Fehler: Makro läuft nicht
    Lösung: Überprüfe die Sicherheitseinstellungen in Excel. Du musst die Ausführung von Makros erlauben.


Alternative Methoden

Wenn du die Druckfunktion nicht über VBA nutzen möchtest, kannst du auch folgende Methoden in Betracht ziehen:

  • Druckbereich manuell festlegen: Wähle den gewünschten Bereich aus und gehe zu Seitenlayout > Druckbereich > Druckbereich festlegen.
  • Drucken über die Benutzeroberfläche: Nutze die Funktion Drucken im Datei-Menü, um den gewünschten Bereich auszuwählen.

Praktische Beispiele

  1. Drucken eines Berichts: Wenn du einen wöchentlichen Bericht drucken möchtest, der von A7 bis zur letzten verwendeten Zelle geht.
  2. Monatliche Auswertungen: Setze den Druckbereich für monatliche Auswertungen, um nur relevante Daten zu drucken.

Tipps für Profis

  • Druckvorschau nutzen: Verwende ActiveSheet.PrintPreview, um vor dem Drucken eine Vorschau zu sehen und Anpassungen vorzunehmen.
  • Button hinzufügen: Füge einen Button in dein Arbeitsblatt ein, um das Makro mit einem Klick auszuführen, um die Benutzerfreundlichkeit zu erhöhen.
  • Dynamische Druckbereiche: Passe den Code an, um dynamische Druckbereiche zu erstellen, die sich basierend auf den Daten in deinem Arbeitsblatt ändern.

FAQ: Häufige Fragen

1. Wie kann ich den Druckbereich anpassen?
Du kannst den Druckbereich anpassen, indem du die Range im Code änderst, z.B. von "A7" auf eine andere Zelle.

2. Wie kann ich das Makro an einen Button anhängen?
Füge einen Button über die Entwicklertools ein, klicke mit der rechten Maustaste darauf und wähle Makro zuweisen, um dein Makro auszuwählen.

3. Funktioniert dieser Code in jeder Excel-Version?
Ja, dieser VBA-Code sollte in den meisten modernen Excel-Versionen funktionieren, solange die Makros aktiviert sind.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige