gestern hatte ich mit euch eine Frage über Leerzellen diskutiert.
Dieses Problem taucht auch in einem speziellen Zusammenhang auf:
Wenn man, z.B. mit einer Subroutine oder Funktion, die letzte belegte Zeile oder die erste freie Zeile einer Spalte ermitteln will, etwa so:
Sub Ermitteln()
Cells(Rows.Count, 1).End(xlUp).Select
End Sub
...dann stören unechte Leerzellen das Programm natürlich erheblich. Das kann man leicht ausprobieren, indem man z.B. eine Zelle unterhalb der letzten "wirklichen", d.h. beabsichtigten, Zeile einer Spalte mit Daten be-
füllt, z.B. zwei und drei zusätzliche Zeilen, und diese dann anschließend wieder löscht. Die zwei oder drei zusätzlichen Zeilen dieser Spalte gelten dann, auch wenn sie z.B. mit der Leertaste geleert worden sind,
für das Problem durchaus nicht als leer, und wenn ich dann mit einer Userform einen neuen Datensatz hinter den letzten schreiben will, kann es vorkommen, dass der neue Datensatz in drei, vier Zeilen Abstand zum letzten Datensatz erscheint. Dazwischen ist eben unsichtbarer Datenmüll.
Manuell kann man dieses Problem dadurch lösen, dass man ein paar Zeilen hinter der letzten echten Zeile
einfach löscht, aber es bleibt immer Unsicherheit, ob einem nicht doch ein paar "Unechte" entgangen sind.
Vielleicht kennt einer von euch eine Funktion, die alles automatisch macht und einem den Kummer mit
den "Unechten" erspart. Eine Funktion, die vor Ermittlung der letzten Zelle zuerst einmal zehn verdächtige
"Falschleere" weghaut, zu schreiben, ist natürlich keine Kunst, aber das ist wohl eher die Holzhammermethode.
Bin mal wieder auf eure Antworten gespannt. Man erfährt so häufig Lösungsansätze, auf die man selbst
gar nicht so ohne weiteres kommt.
Grüße Werner