aus einem ellenlangen Thread von Joerschi habe ich einen Auszug rüberkopiert, der m.E. verdient hat, als eigener Beitrag zu erscheinen. Dieses Problem kennt wohl jeder, der in Excel häufig mit Daten aus anderen Datenbanken arbeitet.
@Daniel: danke dafür:
quote Unechte Leerzellen können auch dadurch entstehen, dass man eine Formel mit dem Ergebnis Leerstring ("") kopiert und als Wert wieder einfügt.
Beim "Kopieren + Als Wert einfügen" bleibt der Charakter des Formelergebnisses erhalten, dh ein Formelergebnis "1234" bleibt ein Text und wird nicht in eine Zahl gewandelt, das Formelergebnis "" bleibt ebenfalls ein Text und die Zelle wird keine echte Leerzelle.
Wenn man diese Unechten Leerzellen vermeiden will, dann hat man folgende Möglichkeiten:
a) per Code:
Verwende statt:
Quelle.Copy
Ziel.PasteSpecial xlpastevalues
die Anweisung
Ziel.Value = Quelle.Value
dies ist für Excel wie eine Neueingabe der Werte und die Werte werden in das umgewandelt, wonach sie aussehen, Zahl, Datum/Uhrzeit, Formel oder echte Leerzelle.
b) von Hand:
nach dem Kopieren/Einfügen mit der betroffenen Spalte die Aktion
DATEN - DATENTOOLS - TEXT IN SPALTEN
ausführen (hierbei die Einstellungen so wählen, dass keine neuen Spalten entstehen)
auch das interpretiert Excel als Neueingabe der Werte und führt die Typumwandlung durch.
c) von Hand:
mit dem Autofilter nach "leer" filtern
(der Autofilter unterscheidet nicht zwischen echten Leerzellen und solchen mit dem Text "") und die Inhalte löschen .unquote
@Michael: in diesem Zusammenhang auch nochmal danke für das Makro im gleichen Thread, durch das erkennbar wird, wie Zellen formatiert sind.
Gruß, Margarete