Thread: Last Cell
View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
RB Smissaert RB Smissaert is offline
external usenet poster
 
Posts: 2,452
Default Last Cell

This will do it:

Function LastCell(ws As Worksheet) As Range

Dim LastRow As Long
Dim LastCol As Long

'Error-handling is here in case there is no data in the sheet
On Error GoTo NODATA

With ws
'Find the last real row
LastRow = .Cells.Find(what:="*", _
SearchDirection:=xlPrevious, _
SearchOrder:=xlByRows).Row
'Find the last real column
LastCol = .Cells.Find(what:="*", _
SearchDirection:=xlPrevious, _
SearchOrder:=xlByColumns).Column
'Initialize a Range object variable for
'the last populated row and column.
Set LastCell = .Cells(LastRow, LastCol)
End With

Exit Function
NODATA:

On Error GoTo 0
Set LastCell = ws.Cells(1)

End Function

Use it like this:

Sub Test()
LastCell(ActiveSheet).Select
End Sub


RBS


"averageguy" wrote in message
...
How do I return the cell that is the intersection of the last column with
the last row of a worksheet that has data. When I press F5 and check last
cell I get a cell that is beyond this intersection.
I am trying to learn VBA by combining reading a textbook with looking at
code in a macro module.