Find the Last Row of Data in a Range
January 15, 2002 - by Juan Pablo Gonzalez
This is my first tip of the day, and with it, i'll try to face one common question using VBA in Excel. That is
How can I find the last used row in a particular sheet?
There are several methods to accomplish this, some more exact than others, but they can all serve your needs.
One common method
LastRow = Cells.SpecialCells(xlCellTypeLastCell).Row
Which is not very exact, because Excel doesn't keep track of the last cell in a very adequate form.
Another method to find the last used row in a particular column is:
LastRowColA = Range("A65536").End(xlUp).Row
But this doesn't tell you FOR SURE the last used row in the entire sheet, unless you can be certain that Column A holds the data.
A couple extra methods are more reliable.
LastRow = Cells.Find("*",SearchOrder:=xlByRows,SearchDirection:=xlPrevious).Row
or
LastRow = ActiveSheet.UsedRange.Rows.Count
This methods can be used on any sheet, not just the active sheet.