View Single Post
  #4   Report Post  
Posted to microsoft.public.excel.programming
Bob Phillips[_6_] Bob Phillips[_6_] is offline
external usenet poster
 
Posts: 11,272
Default Object variables

The address property is a string, so you should declare your variables such

Dim ObjVar1 As Object, ObjVar2 As String

With Range("MyRange")
Set ObjVar1 = .Find(x)
ObjVar2 = ObjVar1.Address
End With
If Not IsEmpty(ObjVar2) Then
Range(ObjVar2).Activate
End If


--

HTH

Bob Phillips
... looking out across Poole Harbour to the Purbecks
(remove nothere from the email address if mailing direct)

"scarbrough" wrote in message
news:UGdAb.68591$m24.26909@fed1read02...
I ran into a proble trying to set a declared object variable to a value,
like this:

Dim ObjVar1, ObjVar2 As Object

With Range("MyRange")
Set ObjVar1 = .Find(x)
ObjVar2 = ObjVar1.Address
End With
Range(ObjVar2).Activate

The problem has to do with the fact that the second object variable was

set
to Nothing by default, and I don't know how to set it to Empty which is

what
I have to do to in order to get it to accept a value. I've gone around

the
problem by setting it to a Variant data type, and I know I can go around

it
by not declaring it in the first place, but I am curious to find out why
ObjVar1 in the declaration statment is set to Empty and ObjVar2 is set to
nothing, try this:

Paste this code into VBA and step into it. Look at the value of

objMyObject
and objMyObject1 and explain to me why they are not both Empty.

Sub test()
Dim objMyObject, objMyObject2 As Object
End Sub

Thanks