VBA – Test if Selection is a Range or Object


Test if Selection is a Range

If you are working with a user selected Range in VBA you may want to first test that the Selection is not a Chart, Autoshape, or other object.

To test if a Selection is a Range, check the TypeName of the Selection = “Range”. Here’s an example:



Sub TestIfRange()



If TypeName(Selection) = "Range" Then

    MsgBox "You selected a Range"

Else

    MsgBox "Woops! You selected a " & TypeName(Selection)

End If



End Sub