View Single Post
  #1   Report Post  
Posted to microsoft.public.excel.programming
Dave Peterson Dave Peterson is offline
external usenet poster
 
Posts: 35,218
Default Object Variable error

I would still use the same code (with the "unload me" line added).

You can't go wrong by qualifying your ranges.

"Patrick C. Simonds" wrote:

No, sorry it is on a UserForm

"Dave Peterson" wrote in message
...
Your commandbutton1 is a commandbutton from the Control toolbox toolbar
placed
on a worksheet, right?

If that's true, then your unqualified ranges (like cells in cells.find)
will
refer to the sheet that owns the code--not necessarily the activesheet.

Option Explicit
Private Sub CommandButton1_Click()
dim FoundCell as range

with ThisWorkbook.Sheets("paratransit names")
set foundcell = .Cells.Find(What:=me.TextBox1.Text, _
After:=.cells(.cells.count), _
LookIn:=xlFormulas, _
LookAt:=xlPart, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False, _
SearchFormat:=False)
end with
if foundcell is nothing then
'what happens
else
application.goto foundcell
end if

End Sub

"Patrick C. Simonds" wrote:

I get the same error msg.

I case it was not clear as to what I am trying to do, I want this code
to
run without actually making the worksheet "paratransit names" active. The
code below does what I need to the extent that it finds the text, but at
the
expense of making the "paratransit names" worksheet active.

Maybe it is not possible to perform this function without making the
worksheet active. If that is the case, I need something to bring me back
to
the cell on the worksheet which was active when the code was initiated.

Private Sub CommandButton1_Click()

ThisWorkbook.Sheets("paratransit names").Activate

Cells.Find(What:=TextBox1.Text, _
After:=ActiveCell, _
LookIn:=xlFormulas, _
LookAt:=xlPart, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False, _
SearchFormat:=False).Activate

Unload UserForm1

End Sub


--

Dave Peterson


--

Dave Peterson