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

Forumthread: vba code für bestimmte Zeilen Drucken

vba code für bestimmte Zeilen Drucken
08.01.2007 13:48:44
Thorsten
Hallo,
habe mir jetzt den Button mit folgenden Code angelegt.

Private Sub CommandButton1_Click()
ActiveSheet.PrintOut Copies:=1
End Sub

Dieser druckt das ganze Sheet - gibt es einen Code, den man einfügen kann, der nur die Zeilen druckt, die in der Spalte P den Wert OFFEN stehen haben.
Vielen Dank
Thorsten
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: vba code für bestimmte Zeilen Drucken
08.01.2007 14:41:28
fcs
Hallo Thorsten,
hier ein angepasster Code, ggf. muss du noch die Startzeile ändern, ab der das Makro vor dem Drucken das ausblenden der Zeilen beginnen soll.
Gruß
Franz

Private Sub CommandButton1_Click()
Dim wks As Worksheet, Zeile As Long
Set wks = ActiveSheet
wks.Rows.Hidden = False 'Alle Zeilen einblenden
'Zeilen ab Zeile 5, die nicht Eintrag "OFFEN" haben ausblenden
For Zeile = 5 To wks.Cells(wks.Rows.Count, "P").End(xlUp).Row
If wks.Cells(Zeile, "P").Value <> "OFFEN" Then
wks.Cells(Zeile, "P").EntireRow.Hidden = True
End If
Next
'Blatt drucken
ActiveSheet.PrintOut Copies:=1
wks.Rows.Hidden = False  'Alle Zeilen wieder einblenden
End Sub

Anzeige
AW: vba code für bestimmte Zeilen Drucken
08.01.2007 16:09:03
Daniel
Hallo
ja, allerdings wird so die erste Zeile immer mit ausgedruckt (was aber meistens wegen der Spaltenüberschrift erwünscht ist)

Private Sub CommandButton1_Click()
Columns("P:P").AutoFilter Field:=1, Criteria1:="=offen"
ActiveSheet.PrintOut Copies:=1
selection.autofilter
End Sub

Gruß, Daniel
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

VBA-Code zum Drucken bestimmter Zeilen in Excel


Schritt-für-Schritt-Anleitung

Um in Excel nur bestimmte Zeilen zu drucken, die in der Spalte P den Wert "OFFEN" haben, kannst du den folgenden VBA-Code verwenden. Dieser Code blendet alle Zeilen aus, die nicht den gewünschten Wert haben, bevor er das Blatt druckt.

  1. Öffne dein Excel-Dokument und wechsle zu dem Blatt, von dem du die Zeilen drucken möchtest.
  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.
  3. Füge ein neues Modul hinzu, indem du mit der rechten Maustaste auf "VBAProject" klickst und "Einfügen" > "Modul" wählst.
  4. Kopiere und füge den folgenden Code in das Modul ein:
Private Sub CommandButton1_Click()
    Dim wks As Worksheet, Zeile As Long
    Set wks = ActiveSheet
    wks.Rows.Hidden = False ' Alle Zeilen einblenden
    ' Zeilen ab Zeile 5, die nicht den Eintrag "OFFEN" haben, ausblenden
    For Zeile = 5 To wks.Cells(wks.Rows.Count, "P").End(xlUp).Row
        If wks.Cells(Zeile, "P").Value <> "OFFEN" Then
            wks.Cells(Zeile, "P").EntireRow.Hidden = True
        End If
    Next
    ' Blatt drucken
    ActiveSheet.PrintOut Copies:=1
    wks.Rows.Hidden = False  ' Alle Zeilen wieder einblenden
End Sub
  1. Schließe den VBA-Editor und füge einen Button in dein Excel-Dokument ein, um das Makro auszuführen.
  2. Klicke auf den Button, um nur die Zeilen zu drucken, die "OFFEN" in Spalte P haben.

Häufige Fehler und Lösungen

  • Problem: Das gesamte Blatt wird gedruckt, nicht nur die gewünschten Zeilen.

    • Lösung: Stelle sicher, dass der Filter richtig gesetzt ist und dass die Zeilen, die du drucken möchtest, tatsächlich den Wert "OFFEN" haben.
  • Problem: Die erste Zeile (Spaltenüberschrift) wird nicht mitgedruckt.

    • Lösung: Du kannst den Code anpassen, um sicherzustellen, dass die erste Zeile immer sichtbar bleibt.

Alternative Methoden

Eine weitere Methode, um nur bestimmte Zeilen in Excel zu drucken, ist die Verwendung der AutoFilter-Funktion. Hier ein Beispiel:

Private Sub CommandButton1_Click()
    Columns("P:P").AutoFilter Field:=1, Criteria1:="=OFFEN"
    ActiveSheet.PrintOut Copies:=1
    Selection.AutoFilter
End Sub

Dieser Code filtert die Spalte P und druckt nur die sichtbaren Zeilen.


Praktische Beispiele

Angenommen, du hast eine Liste von Aufträgen in Excel, und du möchtest nur die Aufträge drucken, die noch offen sind. Mit dem oben genannten VBA-Code kannst du das ganz einfach umsetzen. Füge einfach einen Button hinzu, der das Makro ausführt, und du erhältst nur die relevanten Informationen als Ausdruck.


Tipps für Profis

  • Verwende die .PrintOut-Methode, um zusätzliche Optionen wie die Anzahl der Kopien oder die Auswahl des Druckers anzupassen.
  • Du kannst die Logik im Code erweitern, um mehrere Kriterien zu berücksichtigen, indem du zusätzliche If-Abfragen hinzufügst.
  • Teste deine Makros immer in einer Kopie deiner Datei, um unerwünschte Änderungen zu vermeiden.

FAQ: Häufige Fragen

1. Frage
Wie kann ich den Druckbereich in Excel festlegen?
Antwort: Du kannst den Druckbereich über die Seite "Seite einrichten" unter "Druckbereich festlegen" definieren.

2. Frage
Brauche ich spezielle Berechtigungen, um VBA-Codes in Excel auszuführen?
Antwort: Ja, du benötigst die Berechtigung, um Makros in Excel auszuführen. Stelle sicher, dass die Makros aktiviert sind.

3. Frage
Kann ich die Zeilen auch farblich markieren, bevor ich drucke?
Antwort: Ja, du kannst im VBA-Code zusätzliche Formatierungen hinzufügen, um Zeilen farblich zu kennzeichnen.

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