Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.10.2025 10:28:49
16.10.2025 17:40:39
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Leere Zeilen mit Macro nicht drucken

Leere Zeilen mit Macro nicht drucken
11.06.2006 09:30:15
Koschutnik
Hallo!
Bin neu hier und hätte folgendes Problem:
Habe ein Excel-Sheet mit einer vielspaltigen Tabelle mit ein paar hundert Datensätzen, die jedoch nicht komplett ausgefüllt wird - d.h. es gibt dazwischen immer wieder teilweise ausgefüllte Zeilen und auch viele komplett leere Zeilen. Und das ganze wild durcheinander. Nun möchte ich beim Ausdrucken der Tabelle die komplett leeren Zeilen nicht mitausdrucken. Mir ist schon bekannt, dass es Autofilter etc. gibt, aber
a) gibt es keine Spalte, in der jede auch nur teilweise beschriebene Zeile einen Eintrag hat und nach der ich den Filter setzen könnte und
b) ist auch die Variante mit einer Hilfsspalte, die mir mittels einer WENN-UND-Formel einen Hilfseintrag zwecks Filtermöglichkeit setzt, nicht erwünscht.
Bin aber, was VBA betrifft, eine komplette Null. Sollte ich mich undeutlich ausgedrückt haben, hier ein Beispiel:
Zeile 1: Spaltenüberschriften
Zeile 2: beschrieben in A2, B2, C2, D2 und E2
Zeile 3: leer
Zeile 4: beschrieben in C4, D4 und E4
Zeile 5: beschrieben in A5 und C5
Zeile 6: leer
Zeile 7: leer
Zeile 8: beschrieben in E8 und H8
Zeile 9: beschrieben in B9, D9, F9, G9 und H9
usw.
Es gibt also keine "gemeinsame" Spalte, in der alle Zeilen einen Eintrag haben. Kann mir bitte wer mit einem VBA-Script helfen, welches mir alle komplett leeren Zeilen ähnlich einem Autofilter fürs Drucken ausblendet, anschließend aber auf Klick wieder einblendet, da an der Tabelle ständig gearbeitet wird? - Vielen Dank im Voraus
lg Peter
PS: Die Implementierung von Makros stellt kein Problem dar, da kenn ich mich aus - nicht aber mit VBA.
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Leere Zeilen mit Macro nicht drucken
11.06.2006 09:42:52
Josef
Hallo Peter!
Probier mal.
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub drucken()
Dim lngRow As Long, lngLast As Long
Dim intCol As Integer

On Error GoTo ErrExit
Application.ScreenUpdating = False

'Spalten 1 bis 8 "A-H"

For intCol = 1 To 8
  lngLast = Application.Max(lngLast, Cells(Rows.Count, intCol).End(xlUp).Row)
Next

For lngRow = 2 To lngLast
  If Application.CountA(Rows(lngRow)) = 0 Then Rows(lngRow).EntireRow.Hidden = True
Next

ActiveSheet.PrintPreview ' .Printout um gleich zu drucken

Range("A2:A" & lngLast).EntireRow.Hidden = False

ErrExit:
Application.ScreenUpdating = True
End Sub


'******************************
'* Gruß Sepp
'*
'* Rückmeldung wäre nett!
'******************************

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Leere Zeilen beim Drucken in Excel ausblenden


Schritt-für-Schritt-Anleitung

Um leere Zeilen in einer Excel-Tabelle beim Drucken auszublenden, kannst Du ein einfaches VBA-Makro verwenden. Hier ist eine detaillierte Anleitung:

  1. Visual Basic for Applications (VBA) öffnen:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Ein neues Modul erstellen:

    • Klicke im Menü auf Einfügen und wähle Modul aus.
  3. VBA-Code eingeben:

    • Kopiere den folgenden Code und füge ihn in das Modul ein:
    Sub drucken()
       Dim lngRow As Long, lngLast As Long
       Dim intCol As Integer
    
       On Error GoTo ErrExit
       Application.ScreenUpdating = False
    
       ' Bestimme die letzte Zeile
       For intCol = 1 To 8
           lngLast = Application.Max(lngLast, Cells(Rows.Count, intCol).End(xlUp).Row)
       Next
    
       ' Blende leere Zeilen aus
       For lngRow = 2 To lngLast
           If Application.CountA(Rows(lngRow)) = 0 Then
               Rows(lngRow).EntireRow.Hidden = True
           End If
       Next
    
       ' Vorschau anzeigen
       ActiveSheet.PrintPreview
    
       ' Zeilen wieder einblenden
       Range("A2:A" & lngLast).EntireRow.Hidden = False
    
    ErrExit:
       Application.ScreenUpdating = True
    End Sub
  4. Makro ausführen:

    • Schließe den VBA-Editor und gehe zurück zu Deinem Excel-Dokument.
    • Drücke ALT + F8, wähle das Makro drucken aus und klicke auf Ausführen.

Jetzt solltest Du in der Lage sein, eine leere Excel-Tabelle zu drucken, ohne dass leere Zeilen angezeigt werden.


Häufige Fehler und Lösungen

  • Fehler: Das Makro funktioniert nicht oder zeigt eine Fehlermeldung an.

    • Lösung: Überprüfe, ob Du das Makro in einem Modul und nicht in einem Arbeitsblatt platziert hast. Stelle sicher, dass Du die richtigen Berechtigungen zum Ausführen von Makros hast.
  • Fehler: Leere Zeilen werden nicht ausgeblendet.

    • Lösung: Vergewissere Dich, dass die Zeilen tatsächlich leer sind. Manchmal können versteckte Zeichen oder Formate dazu führen, dass Excel die Zeile als nicht leer erkennt.

Alternative Methoden

Wenn Du kein VBA verwenden möchtest, kannst Du die Filterfunktion nutzen, um leere Zeilen auszublenden:

  1. Markiere Deine Tabelle.
  2. Klicke auf Daten und dann auf Filter.
  3. Wähle die Filteroptionen und setze den Filter so, dass nur die nicht-leeren Zeilen angezeigt werden.

Diese Methode ist jedoch weniger flexibel, da sie manuell angepasst werden muss.


Praktische Beispiele

Angenommen, Du hast eine Tabelle mit verschiedenen Daten in den Spalten A bis H. Mit dem oben genannten Makro werden beim Drucken all jene Zeilen, die keine Daten enthalten, automatisch ausgeblendet, sodass Du eine saubere, druckbare Version Deiner Tabelle erhältst.


Tipps für Profis

  • Makros speichern: Speichere Deine Excel-Datei als xlsm, um die Makros beizubehalten.
  • Schnellzugriff: Füge das Makro zur Symbolleiste für den Schnellzugriff hinzu, um es einfacher auszuführen.
  • Mehrere Spalten: Wenn Du mehr als 8 Spalten hast, passe die Zeile For intCol = 1 To 8 im VBA-Code entsprechend an.

FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass das Makro nur leere Zeilen ausblendet? Das Makro verwendet die CountA-Funktion, um zu überprüfen, ob eine Zeile leer ist. Wenn keine Zellen in der Zeile Daten enthalten, wird diese Zeile verborgen.

2. Kann ich das Makro für andere Excel-Versionen verwenden? Ja, das Makro sollte in den meisten Excel-Versionen funktionieren, die VBA unterstützen, z.B. Excel 2010 und später.

3. Was, wenn ich nur bestimmte Zeilen nicht drucken möchte? Du kannst den Code anpassen, um bestimmte Kriterien zu definieren, die eine Zeile als „nicht druckbar“ klassifizieren.

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