Thread: Cells.Find woe
View Single Post
  #3   Report Post  
Posted to microsoft.public.excel.programming
JE McGimpsey JE McGimpsey is offline
external usenet poster
 
Posts: 4,624
Default Cells.Find woe

One way:

Dim x As Range
Set x = Cells.Find( _
What:=",", _
After:=Range("A1"), _
LookIn:=xlFormulas, _
LookAt:=xlPart, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False)
If Not x Is Nothing Then
MsgBox "x is " & x.Value
Else
MsgBox "Not Found"
End If

The problem you're having is that you're trying to activate a
non-existent range.


In article ,
"Jess Wundring" wrote:

I've been trying to get the following code to work in Excel 2003. It's fine
if X is found. It breaks on the X assignment statement if Cells.Find fails to
find anything.

The error is *always*: Object variable or With block variable not set
(Error 91)

I've tried it with and without using the "set" in front of the X assignment,
with and without declaring DIM X, alternately as Object and as Range

Range("A1").Select
x = Cells.Find(What:=",", After:=ActiveCell, LookIn:=xlFormulas,
LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:=False _
, SearchFormat:=False).Activate


If (x Is Nothing) Then
MsgBox "Not Found"
Else
MsgBox "x is " & x
End If


So, while it works okay with the "On Error Resume Next" statement inserted,
I must be doing something wrong for it to generate a stop execution
error...I'd like to find out what is the proper way of doing this. Can anyone
give me a clue?

Thanks