Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1560to1564
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Leerzeilen in Wiederholungszeilen ausblenden

Leerzeilen in Wiederholungszeilen ausblenden
03.06.2017 21:20:00
Loh
Hallo,
nach der erfolgreichen Hilfe von gestern (Bestimmte Wiederholungszeilen auf 2.ter Seite ausblenden), möchte ich zwischen meinen festgelegten Wiederholungszeilen auf der 1.ten Seite Leerzeilen ausblenden
Sub Ausdruck()
Dim A As Integer
For A = 1 To 2
Tabelle1.Cells.EntireRow.Hidden = False
'Zeilen die beim zweiten Ausdruck ausgeblendet werden sollen
If A = 2 Then Range("12:31").EntireRow.Hidden = True
'hier die entsprechende Seite anpassen
'1, 1 ist Seite 1 bis 1
Tabelle1.PrintOut A, A
Next A
Tabelle1.Cells.EntireRow.Hidden = False
End Sub

Meine Frage:
Jetzt möchte ich zusätzliche die Zeilen von 12:31 nicht drucken, wenn LEERZELLEN von C12-C31 (Bereich/Tabelle A12-L31 als "Teilnehmerliste" definiert) vorhanden sind, kann man das im o.g. Makro unterbringen, neben der Teilnehmerliste sind noch ausgeblendete Texte hinterlegt, deshalb sollte es sich nicht auf die Zeilen 12:31, sondern auf die Leerzellen beziehen.
Vielen Dank für die Hilfe im Voraus!

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Leerzeilen in Wiederholungszeilen ausblenden
03.06.2017 22:31:08
Loh
Des Weiteren würde ich gerne (nicht wie oben angegeben Seite 2) sondern bis zur letzten ausgefüllten Zelle/Zeile in Spalte C drucken.
Vielleicht weiß ja jemand Hilfe.
Vielen Dank!
AW: Leerzeilen in Wiederholungszeilen ausblenden
06.06.2017 11:02:44
Max2
Hallo,
Das mit Drucken bis letzte Zelle v. C ist im Code Auskommentiert.
Hier ein Code der nicht getestet ist:

Sub Ausdruck()
Dim rng As Range
'Dim lRow As Long
'Dim i As Long
Tabelle1.Cells.EntireRow.Hidden = False
'lRow = Cells(Rows.Count, 3).End(xlUp).Row
Set rng = Range(Cells(12, 3), Cells(31, 3))
If Application.WorksheetFunction.CountBlank(rng) = 0 Then
Tabelle1.PrintOut 1, 1
Range("12:31").EntireRow.Hidden = True
Tabelle1.PrintOut 2, 2
'For i = 3 To lRow
'Tabelle.PrintOut i, i
'Next i
End If
Tabelle1.Cells.EntireRow.Hidden = False
End Sub

Anzeige
AW: Leerzeilen in Wiederholungszeilen ausblenden
06.06.2017 11:46:15
Loh
vielen Dank für deine Mühe, allerdings passiert bei d. Makro gar nichts.
Mir würde es erst mal reichen, wenn ich bis zur letzten Seite drucken kann und nicht nur bis Seite 2.
Wenn ich mit d. aktuellen Code drucke, habe ich 2 separate Dateien (Seite 1/Seite 2), wobei auf der ersten Seite in der Fußzeile Seite 1 von 6 steht und auf der 2.Seite 2 von 3.
Sub Ausdruck()
Dim A As Integer
For A = 1 To 2

Tabelle1.Cells.EntireRow.Hidden = False
'Zeilen die beim zweiten Ausdruck ausgeblendet werden sollen
If A = 2 Then Range("12:31").EntireRow.Hidden = True
'hier die entsprechende Seite anpassen
'1, 1 ist Seite 1 bis 1
Tabelle1.PrintOut A, A
Next A
Tabelle1.Cells.EntireRow.Hidden = False
End Sub
Deshalb würde ich es gerne in einer Datei drucken und nicht jede Seite einzeln, um sie dann zusammenzufügen, dann würde auch die Fußzeile stimmen.
Gruß Loh
Anzeige
AW: Leerzeilen in Wiederholungszeilen ausblenden
06.06.2017 12:15:35
Max2
Hallo,
habe meinen Code getestet, der funktioniert sehr wohl,
aber du hattest eben leere Zellen im Bereich C12:C31, darum hat er abgebrochen.
Dieser Code prüft den Bereich C12:C31 auf Leere Zellen, wenn dort eine ist,
wird der gesamte Bereich versteckt und anschließend die Tabelle1 gedruckt.
Wenn der Bereich keine Leeren Zellen hat, dann druckt er einfach nur Tabelle1
Sub Ausdruck()
Dim rng As Range
Dim i As Integer
Tabelle1.Cells.EntireRow.Hidden = False
Set rng = Range(Cells(12, 3), Cells(31, 3))
If Application.WorksheetFunction.CountBlank(rng) = 0 Then
Tabelle1.PrintOut
Else
For i = 12 To 31
Cells(i, 1).EntireRow.Hidden = True
Next i
Tabelle1.PrintOut
End If
Tabelle1.Cells.EntireRow.Hidden = False
End Sub

Anzeige
AW: Leerzeilen in Wiederholungszeilen ausblenden
06.06.2017 13:12:40
Loh
Hallo Max,
vielen Dank,
bei deinem Code werden jetzt alle Seiten zusammenhängend ausgedruckt, das ist schon mal super.
Allerdings werden die Zeilen von 12-31 auch auf Seite 1 ausgeblendet, egal ob leer oder gefüllt.
In der Spalte E steht der Nachname drin, wenn ein Teilnehmer aufgeführt ist, dann ist diese Celle auf jedem Fall gefüllt. Hab zum Test alle Zellen von der Zeile 12-27 gefüllt, bleibt beim Druck trotzdem leer.
Bei mir sind in der Teilnehmerliste (Zeile 12-31) die Spalten B+C verbunden, d. h. 3.te Spalte und die Spalte E wäre dann die 4. die Spalten J-L (Zeile 12-31) sind ebenfalls verbunden.
Das ist glaube ich mein Fehler.... :-(
Anzeige
AW: Leerzeilen in Wiederholungszeilen ausblenden
06.06.2017 13:58:17
Max2
Hallo,
wenn es um E und nicht um C geht, dann einfach: Set rng = Range(Cells(12, 4), Cells(31, 4))
A = 1
B = 2
C = 3
E = 4 ... usw.
Ich habe den Code jetzt noch ein paar mal getestet... und wenn es keine Leere Zelle im Bereich
C12:C31 gibt, dann versteckt er auch keine Zeile...
Wenn dort eine einzige Zelle leer ist, dann versteckt er den gesamten Bereich
AW: Leerzeilen in Wiederholungszeilen ausblenden
06.06.2017 14:12:28
Loh
Hallo Max,
weiß nicht warum das bei mir nicht klappt, er blendet mir trotzdem die Zeilen 12-31 aus (1. Seite), sind einfach nicht sichtbar, obwohl alle Zellen A12/31-L12/31 gefüllt sind.
Kannst du mir vielleicht den Code nochmal einstellen, dass er mir die Zeilen 12-31 nur auf der ersten Seite sichtbar macht und auf den Folgeseiten ausblendet, dann bleiben die halt statisch auf der ersten Seite.
Damit wär ich schon richtig glücklich.... Vielen Dank für deine Geduld und Hilfe!!!1
Anzeige
Das müsste eine Endlösung sein :)
06.06.2017 14:56:44
Max2
Hallo,
versuch es mal hiermit:
Sub Ausdruck()
Dim i As Integer
Tabelle1.Cells.EntireRow.Hidden = False
'//erst die Zellen ausblenden und dann Seite 1 Drucken
'//wenn du einfach alle von 12 bis 31 ausblenden willst, dann
'//musst du das if weglassen.
'//also nur: Cells(i, 3).EntireRow.Hidden = True
For i = 12 To 31
If Cells(i, 3).Text = "" Then Cells(i, 3).EntireRow.Hidden = True
Next i
Tabelle1.PrintOut 1, 1
'//Alles sichtbar machen, zu druckende Seiten Zählen
'//und dann ab der zweiten Seite ausdrucken
Tabelle1.Cells.EntireRow.Hidden = False
i = (Tabelle1.HPageBreaks.Count + 1) * (Tabelle1.VPageBreaks.Count + 1)
Tabelle1.PrintOut 2, i
End Sub
Was der Code macht, steht ja in den Kommentaren.
Anzeige
.... noch nicht ganz
06.06.2017 15:39:55
Loh
Hallo Max,
vielen Dank, allerdings hab ich jetzt wieder 2 einzelne Dateien und gedruckt wird nur bis Seite 2.
Ich würde jetzt einfach die Zeilen 12-31 statisch auf der ersten Seite drin lassen und nur auf den Folgeseiten ausblenden.
Hoffe du kannst mir nochmal helfen :-)
LG Loh
AW: .... noch nicht ganz
06.06.2017 15:57:48
Max2
Hallo,
dann stelle bitte mal die Datei hoch.
Bei mir hat es nämlich problemlos funktioniert und ich raffe nicht ganz,
warum es bei dir nicht klappen will :)
AW: .... noch nicht ganz
06.06.2017 16:11:06
Loh
Kann ich dir die Datei per Mail schicken? Dazu bräuchte ich deine Email...
AW: .... noch nicht ganz
06.06.2017 16:15:37
Max2
max_bader@ymail.com

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige