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

Zellen sind nicht leer da eine Formel darin steh!

Forumthread: Zellen sind nicht leer da eine Formel darin steh!

Zellen sind nicht leer da eine Formel darin steh!
08.12.2003 14:46:49
Newbe
Ich habe von Boris folgenden Code erhalten


Sub druckena()
Dim Ws As Worksheet, Lz As Long
Set Ws = Worksheets("Auswertung")
Lz = Ws.Range("A65536").End(xlUp).Row
With Ws
.PageSetup.Zoom = False
.PageSetup.FitToPagesWide = 1
.PageSetup.FitToPagesTall = False
.PageSetup.PrintArea = "A4:G" & Lz + 2
.PrintOut
.PageSetup.PrintArea = ""
End With
End Sub


Dieser liest mir aus wann die letzte beschrieben Zeile eintrifft und druckt das file dann nur bis zur letzten Zeile - Dies funktioniert allerdings nicht wenn Formeln in den Zellen steht, da er nicht erkennt das die Zelle leer ist auch wenn die Funktion schreibt das sie leer ist - Kann mir jemand weiter helfen??

In so einer zelle steht dann z.B. =wenn(b5=6;"";Sechs) (Nur ein Beispiel)
Und der oben genannte Code denkt dann die Zeile ist beschrieben und druckt sie leer aus!!!
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellen sind nicht leer da eine Formel darin steh!
08.12.2003 15:54:00
Martin Beck
Hallo ??? (bitte Real(vor)namen angeben),

ersetze mal die Zeile

Lz = Ws.Range("A65536").End(xlUp).Row

durch

Lz = Ws.Range("A65536").End(xlUp).Row
Do Until Len(Ws.Cells(Lz, 1)) > 0
Lz = Lz - 1
Loop

Gruß
Martin Beck
AW: Zellen sind nicht leer da eine Formel darin steh!
08.12.2003 16:14:37
Newbe
Hallo Martin - Der Hammer - hat gleich beim erstenmal funktioniert. kannst du mir die zwei Zeilen noch in ein paar Worten erklären - dann bin ich überglücklich :-D

Lieber Gruß und Danke - Stefan
Anzeige
Erklärungsversuch
08.12.2003 16:58:59
Martin Beck
Hallo Stefan,

Lz = Ws.Range("A65536").End(xlUp).Row

bestimmt die Nummer der letzten Zeile in Spalte A, in der etwas steht. Nach Deiner Beschreibung kann der Zellinhalt ein Leerstring als Ergebnis einer WENN-Funktion sein.

Ein Leerstring hat die Länge 0, während alle anderen Formelergebnisse eine Länge größer als 0 haben.

Do ... Loop ist eine Schleife, die solange durchlaufen wird, bis die in der Do-Zeile angegebene Bedingung erfüllt ist. Diese lautet

Until Len(Ws.Cells(Lz, 1)) > 0

d.h. im Klartext solange, wie in Spalte A Zellinhalte der Länge 0 vorkommen.

Bei jedem Schleifendurchlauf, bei dem die Bedingung noch erfüllt ist, wir mit

Lz = Lz - 1

die Zeilennummer um 1 verringert. Im Prinzip wird also ausgehend von der letzten belegten Zelle die Spalte A solange nach oben durchlaufen, bis das erste "richtige" Formelergebnis auftaucht.

Gruß
Martin Beck
Anzeige
Finished
09.12.2003 09:44:33
NEWBE
Danke Martin

Hat mich um einiges weitergbracht

Frohes Fest - Stefan
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige