Warum merkt sich Excel den Range
02.02.2016 11:00:35
Jockel
habe gerade folgendes Problem:
Fülle per VBA ein Tabellenblatt. (in meinem Beispiel bis Zeile20)
Von einer anderen Stelle frage ich später ab, welche die letzte beschriebene Stelle war:
letztezeile1 = .UsedRange.SpecialCells(xlCellTypeLastCell).Row
Als Ergebnis bekomme ich die 20. OK passt.
Später will ich das beschriebene Tabellenblatt inhaltlich löschen. Mache dies mit der Clear Methode:
.Range("A2:H" & letztezeile1).Clear
So, nun kommt das Problem: angenommen ich habe das Tabellenblatt das erste mal mit 20 DS beschrieben, habe meine Abfrage gemacht und die Daten später wieder gelöscht.
Wenn ich nun einen zweiten Durchgang starte, bei dem per VBA NUR 10 DS in das Tabellenblatt geschrieben werden und ich später wieder meine Range abfrage mit
letztezeile1 = .UsedRange.SpecialCells(xlCellTypeLastCell).Row
dann kommt als Ergebnis nicht 10 raus, sondern wieder der alte Wert 20. Egal wie ich den Inhalt lösche, Excel hat sich von der ersten Aktion die 20 Zeilen gemerkt und meine nachfolgenden Abfragen nach der letzten beschriebenen Zeile ist immer falsch.
Wie kann ich einen Range löschen, damit Excel auch die 20 DS wieder vergießt ?
Danke mal
Jockel