Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
436to440
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
436to440
436to440
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

!!!Leere Zellen in Tabelle nicht drucken!!!

!!!Leere Zellen in Tabelle nicht drucken!!!
06.06.2004 22:15:39
Sven
Hallo liebe Excelperten,
ich möchte in einer Tabelle leere Zellen nicht drucken. Per Makro soll der Bereich rng1 (spalte 18-27 sowie zeile 5 bis variables ende, daher cells-anweisung) nach leeren Zellen durchducht werden. Falls nur eine dieser Zellen in dem Bereich leer sein sollte, soll die komplette Zeile versteckt werden.
Anschließend soll dann der Bereich rng (spalte 1-6 sowie zeile 5 bis variables ende, je nach Größe der Tabelle) ausgedruckt werden, wobei hier ja nur die sichtbaren Zellen gedruckt werden sollen, die sich ja nach dem Ergebnis der Prüfung von rng1 richten. Mit meinem Versuch druckt er immer die komplette Tabelle aus, ich weiß nicht woran es liegt.
Bin für jede Anregung dankbar.
Vielen Dank im Voraus.
Gruß Sven
Hier mein Code-Versuch:
Private Sub DruckListe_Click() Dim rng As Range Dim rng1 As Range Dim iRow As Integer Dim iCol As Integer Dim bln As Boolean 'dieser Bereich soll durchsucht werden Set rng1 = Range(Cells(5, 18), Cells(variable größe, 27)) 'dieser Bereich soll gedruckt werden Set rng = Range(Cells(5, 1), Cells(variable größe, 6)) For iRow = 1 To rng1.Rows.Count bln = False For iCol = 1 To rng1.Columns.Count If Cells(iRow, iCol).Value <> "" Then bln = True 'Exit For End If Next iCol If bln = False Then Rows(iRow).Hidden = True End If Next iRow With Worksheets("tabelle1") .PrintOut Rows.Hidden = False End With End Sub
AW: !!!Leere Zellen in Tabelle nicht drucken!!!
Ramses
Hallo
probiers doch mal so
With Worksheets("Tabelle1")
.Range(Cells(5, 1), Cells(variable größe, 6)).PrintOut
Rows.Hidden = False
End With
Gruss Rainer
AW: !!!Leere Zellen in Tabelle nicht drucken!!!
Sven
Hallo Rainer,
vielen Dank. Ich hab mich nicht richtig ausgedrückt. Mein Code oben war nicht vollständig. Es werden die gewünschten ersten 5 Spalten ausgedruckt, aber leider komplett! D. h. keine Zeile wird ausgeblendet, obwohl dies bestimmt mehrere sein müssten. Der Fehler muss in der Prüfung der leeren Zellen liegen.
Gruß Sven
Hier mein Code:
With Worksheets("tabelle1")
.PageSetup.PrintArea = rng.Address
.PrintOut
Rows.Hidden = False
End With
End Sub
Anzeige
AW: !!!Leere Zellen in Tabelle nicht drucken!!!
06.06.2004 22:35:33
Josef
Hallo Sven!
Versuch mal.
Option Explicit

Sub DruckListe_Click()
Dim lngrow As Long
Dim lngC As Long
lngrow = 50 'als Beispiel - deine "variable größe"!
Application.ScreenUpdating = False
With Sheets("Tabelle1")
For lngC = 5 To lngrow
If WorksheetFunction.CountA(.Range(.Cells(lngC, 5), .Cells(lngC, 27))) < 22 Then _
.Rows(lngC).Hidden = True
Next
.PageSetup.PrintArea = .Range(.Cells(5, 1), .Cells(lngrow, 6)).Address
.PrintOut
.PageSetup.PrintArea = ""
.Rows.Hidden = False
End With
Application.ScreenUpdating = True
End Sub

Gruß Sepp
Anzeige
AW: !!!Leere Zellen in Tabelle nicht drucken!!!
Sven
Hallo Sepp,
vielen Dank für deine Hilfe. Ich will ja Spalte 18-27 prüfen, ob leer, daher folgender Code:
If WorksheetFunction.CountA(.Range(.Cells(lngC, 18), .Cells(lngC, 27))) = "" Then _
.Rows(lngC).Hidden = True
Aber Excel gibt mir "Laufzeitfehler 13 - Typen unverträglich" aus. Ich weiß nicht woran es liegen könnte. Weißt du weiter?
Gruß Sven
AW: !!!Leere Zellen in Tabelle nicht drucken!!!
Ramses
Hallo
du kannst eine erwartete Zahl nicht mit einem Leerstring prüfen
If WorksheetFunction.CountA(.Range(.Cells(lngC, 18), .Cells(lngC, 27))) = "" Then
Wenn schon,.. .müsste es heissen
If WorksheetFunction.CountA(.Range(.Cells(lngC, 18), .Cells(lngC, 27))) = 0 Then
Gruss Rainer
Anzeige
AW: !!!Leere Zellen in Tabelle nicht drucken!!!
Sven
Hallo Rainer,
dann hab ich den Code wohl falsch umgestellt. Ich will doch prüfen ob die Zelle leer ist. Falls eine 0 drin steht, ist sie für mich aber gefüllt. Es sollen alle Zellen versteckt werden, die leer sind.
Gruß Sven
AW: !!!Leere Zellen in Tabelle nicht drucken!!!
Ramses
Hallo
nun mal ganz langsam.
Mit "CountA(.Range(.Cells(lngC, 18), .Cells(lngC, 27)))" prüfst du, ob in dem Bereich in einer Zelle irgendetwas steht. Steht da was drin, dann ist das Ergebnis grösser als 0!
Also wäre es doch richtig, wenn die Funktion 0 ergibt, dass dann die Zeile ausgeblendet wird,... oder ?
Irgendwie steige ich jetzt nicht mehr durch ;-)
Gruss Rainer
Gruss Rainer
Anzeige
AW: !!!Leere Zellen in Tabelle nicht drucken!!!
06.06.2004 23:11:12
Josef
Hallo Rainer, Sven!
@Rainer.
Sven will ja, wenn in dem Bereich in einer Zeile auch nur eine Zelle
leer ist, das die Zeile ausgeblendet wird. Darum prüft CountA die
Anzahl der Einträge und wenn diese kleiner als 9 ist wird die Zeile ausgeblendet.
@Sven.
Hast du meine Code mit der Korrektur schon probiert?
Gruß Sepp
Jetzt hats geklingelt :-)) o.T.
Ramses
...
AW: !!!Leere Zellen in Tabelle nicht drucken!!!
06.06.2004 22:57:36
Josef
Hallo Sven!
Dann muss es
If WorksheetFunction.CountA(.Range(.Cells(lngC, 18), .Cells(lngC, 27))) &lt 9 Then _
.Rows(lngC).Hidden = True
lauten, bei "" kommt natürlich eine Fehlermeldung, da CountA die
Anzahl der Zellen mit Inhalt ermittelt und die muss mindestens 0 betragen.
Gruß Sepp
Anzeige
AW: !!!Leere Zellen in Tabelle nicht drucken!!!
Sven
Hallo Sepp,
das sieht super aus. Echt klasse. Leider habe ich meine Frage falsch formuliert. Jetzt druckt er genau die Zeilen wo in Spalte 18 - 27 keine leeren Zellen sind. Ich will jedoch genau diese Zeilen ausdrucken, wo in diesen Spalten eine oder mehrere Zellen leer sind, also keinen Wert enthalten. Kann man die Zeile umstellen?
Hoffentlich habe ich nicht zu viel Verwirrung gestiftet.
Gruß
Sven
na jetzt aber! ;-)
06.06.2004 23:13:14
Josef
Hallo Sven!
Du willst uns wohl verwirren! ;-))
If WorksheetFunction.CountA(.Range(.Cells(lngC, 18), .Cells(lngC, 27))) = 9 Then _
.Rows(lngC).Hidden = True
sollte es tun.
Gruß Sepp
Anzeige
AW: na jetzt aber! ;-)
Sven
Hallo Sepp und Rainer,
vielen Dank für eure Hilfe. Echt super. Wollte euch nicht verwirren, hatte selbst ein paar Schwierigkeiten ;-)
Gruß
Sven

324 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige