I think it depends on what you're looking for and how you define last used row.
Ron de Bruin has lots of sample code with different interpretations:
Personally, if I know the data, I like to pick out a column that always has data
in it if that row is used and then use something like:
dim LastRow as long
lastrow = .cells(.rows.count,"X").end(xlup).row
But you're right. If you don't know the data, you may not be able to pick out a
column that qualifies.
And because excel remembers the usedrange until you try to reset it, you may not
want to rely on somesheethere.cells.specialcells(xlcelltypelastcell).row.
Debra Dalgleish does share some techniques for resetting that usedrange:
And depending on what you're doing, you may find that comments and even
formatting are important. It really makes life easier if you know the data.