Hallo Brille,
letzteZeile = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row
Nun gibt er mir aber die letzte Zeile des kompletten
Arbeitsblattes (Daten sind aus SAP importiert). Anscheinend
sind hier alle Zellen „benutzt“.
ja, ein Benutzer oder SAP hat da eine Zelle benutzt. Da muß jetzt gar nix mehr
drin/dran sein in der Zelle, die einmalige Benutzung erweitert UsedRange bis auf
diese Zelle.
Kannste nachstellen mit z.B.
Range(„A30000“).interior.colorindex=3
Range(„A30000“).interior.colorindex=Range(„A1“).interior.colorindex
msgbox activesheet.usedrange.address
Ist das in deiner Mappe geschehen so kann man ggfs. nachträglich gar nicht
ermitteln wodran es liegt denn man findet ja keine Spuren mehr.
Manuell ist ein Weg, wenn du die Daten anschaust und offensichtlich ist
Zeile 2000 die letzte benutzte Zeile dann markierst du Zeile 2001 bis ganz nach
unten und wählst „Zeilen löschen“.
letzteZeile = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
Bei Bedarf könntest du das so umstricken:
For N = 1 to columns.count
letzteZeile = application.max(letztezeile;ActiveSheet.Cells(Rows.Count,
N).End(xlUp).Row)
next n
Gruß
Reinhard