Galju
Galju

Reputation: 85

Find command giving error: "Run-time Error '91': Object variable or With block variable not set"

Trying to activate the cell in my column A which says "Generator loading".

I have been trying the 'With' and 'End With' commands and other suggested formats posted on the net. However, I keep getting the same error- Run-time Error 91.

From my various trials I am very sure that there is something wrong within the "Find" command, but I cannot figure out what... I have been filling it using the format on the MSDN page.

Do you have any suggestions?

Dim findstring As String
findstring = "Generator loading"

Sheets("Summary").Columns(1).Find(What:=findstring, After:=Cells(9,1)).Activate

Upvotes: 0

Views: 1739

Answers (2)

David Zemens
David Zemens

Reputation: 53623

The error commonly arises if the result of the .Find method is Nothing, because you can't do Nothing.Activate

First, you have to check for Nothingness

Dim rng as Range
Set rng = Sheets("Summary").Columns(1).Find(What:=findstring, After:=Cells(9,1))

If rng Is Nothing Then
    MsgBox findString & " not found!!", vbCritical
    Exit Sub
End If

rng.Activate

'the rest of your code goes here...

Upvotes: 2

Thiago Cardoso
Thiago Cardoso

Reputation: 57

I don't like to work with columns, so instead of it, I used a range. For me to work, I just replaced the reference of the sheet

Sheets(1).Range("A:A").Find(What:=findstring, After:=Cells(9, 1)).Activate

See if this works. If not, you could send me the sheet if you want :)

Upvotes: -1

Related Questions