I'm no fan of UsedRange in most instances.  If you were to create a Function to be used over and over by your other macros, I would lean toward this syntax which finds the last column with an actual value in it.
Private Function LastCOL(ws As Worksheet) As Long
    With ws
        LastCOL = .Cells.Find("*", .Cells(.Rows.Count, .Columns.Count), _
           SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
    End With
End Function
Private Function LastROW(ws As Worksheet) As Long
    With ws
        LastROW = .Cells.Find("*", .Cells(.Rows.Count, .Columns.Count), _
           SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Row
    End With
End Function
Then your other macros can call it by simply feeding the macro a sheet reference:
Sub RowTest()
    On Error Resume Next       'in case the sheet is empty
    LR = LastROW(ActiveSheet)
    Debug.Print LR
End Sub