Mark Meiring
Mark Meiring

Reputation: 1

VBA Run time error 91. Trouble setting object variable debug

I have taken over someone else's macro who has left the organisation. I get the following error as listed in the title with Run time error.

Below is the code it is telling me to debug. Problem is this is my first time to VBA macro's and I am unsure where to begin to solve the error.

Any help would be great as I can't go past this point.

Cells.Find(What:="Top 10 Rank", After:=ActiveCell, LookIn:=xlValues, _
       LookAt:=xlPart, SearchOrder:=xlByRows, _
       SearchDirection:= xlNext, MatchCase:=False, _
       SearchFormat:=False).Activate

Upvotes: 0

Views: 470

Answers (2)

Clon
Clon

Reputation: 1055

No data was found, so .Find returned a null object reference (Nothing in VBA), as explained in this Microsoft Support page:

This macro error occurs because the Visual Basic Find method returns a NULL value which makes activating a cell impossible.

Upvotes: 1

Tim Williams
Tim Williams

Reputation: 166126

If the value is not found in the search range then you will get an error, so it's best to split up your code into separate operations:

Dim f As Range
Set f = Cells.Find(What:="Top 10 Rank", After:=ActiveCell, LookIn:=xlValues, _
                   LookAt:=xlPart, SearchOrder:=xlByRows, _
                   SearchDirection:= xlNext, MatchCase:=False, _
                   SearchFormat:=False)

If Not f Is nothing Then
    'do somthing with f
Else
    Msgbox "not found!"
End If

Upvotes: 1

Related Questions