Several options depending on the presence of spaces within your range (use method 1) or more simply if you want to find the last used cell (use method 3)
These parameters using column A from the action table as an example
1. SpecialCells
If the empty cells are really empty, you can use SpecialCells
to work with formula cells (which begin with =
) and / or constant cells
Sub GetNonEmtpy() Dim rng1 As Range Dim rng2 As Range On Error Resume Next Set rng1 = Columns("A").SpecialCells(xlConstants) Set rng2 = Columns("A").SpecialCells(xlFormulas) On Error GoTo 0 If Not rng1 Is Nothing Then MsgBox "Constants in " & rng1.Address(0, 0) If Not rng2 Is Nothing Then MsgBox "formula in " & rng2.Address(0, 0) 'then work with these ranges End Sub
2. Search for the last cell
Sub LastCellLookup() Dim rng1 As Range Set rng1 = Cells(Rows.Count, "A").End(xlUp) If rng1.Row <> 1 Then MsgBox "last cell is " & rng1.Address(0, 0) Else 'check first cell is not empty If Len(rng1.Value) > 0 Then MsgBox "last cell is " & rng1.Address(0, 0) Else MsgBox "row is blank" End If End If End Sub
3. Find
Sub LastCellFind() Dim rng1 As Range Set rng1 = Columns("A").Find("*", [a1], xlValues, , xlByRows, xlPrevious) If Not rng1 Is Nothing Then MsgBox "Last cell is " & rng1.Address(0, 0) End Sub
source share