Rätselhaftes Range.Find
16.07.2020 00:10:04
Thomas
verstehe Range.Find nicht. Bitte um Aufklärung.
Was macht folgendes Makro? Es reagiert in verschiedenen Situationen unterschiedlich. Ich denke, es soll die Zeilennummer der ersten leeren Zelle der Spalte B ausgeben.
Makro steht in einem allgemeinen Modul:
Sub Finden()
Debug.Print Columns(2).Find("").Row
End Sub
Sit. (1): Wenn ich es in einer leeren, frischen, neuen Datei starte, kommt seltsamerweise eine Fehlermeldung.
Sit. (2): Wenn ich dann B1:B5 mit Werten befülle, liefert das Makro eine 6. Das ist klar.
Sit. (3): Wenn ich dann diese Werte wieder lösche, liefert das Makro eine 2, und nicht 1. Das ist überhaupt nicht klar. Denn das ist ja die selbe Situation wie bei (1), alles leer. Und da kam eine Fehlermeldung.
Sit. (4): Nun schreibe ich was in die Zelle B5. Das Makro liefert: 2. Naja, so wie vorhin. Aber jetzt kommt die Krönung:
Sit. (5): Nun gehe ich in ein anderes Blatt, schreibe was in die Zelle B5. Das Makro liefert: 1. Warum geht das jetzt?
Hat Excel ein Unterbewusstsein, das wir nicht auslesen können? Denn (1) und (3) liefern unterscheidliche Ergebnisse, obwohl die Zellen gleich leer sind, aber eine unterschiedliche Vergangenheit vorliegt.
Auch (4) und (5) sind gleich von der Zellenbelegung, haben aber anderes Vorleben.
Gruss, Thomas