スピードはわからんけど、言い出した手前、俺もFind 4回のコード貼っとく

Sub Macro1()
  With Selection
    If WorksheetFunction.CountA(.Cells) Then
      r1 = .Find(What:="*", After:=.Cells(.Count), SearchOrder:=xlByRows, SearchDirection:=xlNext).Row
      r2 = .Find(What:="*", SearchDirection:=xlPrevious).Row
      c1 = .Find(What:="*", After:=.Cells(.Count), SearchOrder:=xlByColumns, SearchDirection:=xlNext).Column
      c2 = .Find(What:="*", SearchDirection:=xlPrevious).Column
      Range(Cells(r1, c1), Cells(r2, c2)).Select
    End If
  End With
End Sub