Using two object variables

  • Thread starter Animal via OfficeKB.com
  • Start date
A

Animal via OfficeKB.com

Hi there,

I would like to use two object variables that holds two seperate values, but
I don't seem to get it to work. The object variable seems to change as soons
as the other object gets a value. Why? I have to work with two different
values.
I simplified my code to demonstrate:

Dim c as object
Dim d as object

Set c = Range("A1:A10").Find(10, LookIn:=xlValues)
Set d = Range("B1:B10").Find(2, LookIn:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
Do
Set c = Range("A1:A10").FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstAddress
End If

--------------------------------------------------
Here is my real code. I get an error when I come to the loop while and the
currentMonth assigns the d-value........
I need to work with both the objects, how?.

Dim currentMonth as object
Dim d as object

Set currentMonth = Range("StartMonth:EndMonth").Find(Range("ReportMonth"),
LookIn:=xlValues)
Set d = Range("Year", currentMonth.Offset(-1, 0)).Find(Range("ReportYear"),
LookIn:=xlValues)
If Not currentMonth Is Nothing Then
firstAddress = currentMonth.Address
Do
If Not d Is Nothing Then
FormatCurrentMonth
Else
Set currentMonth = Range("StartMonth:EndMonth").FindNext
(currentMonth)
Loop While Not currentMonth Is Nothing And firstAddress <>
currentMonth.Address
End If

Could someone maybe help me.
I could be working with strings instead of objects, but I don't know how when
I want to use the find method.

Take care,
 
B

Barb Reinhardt

At first blush, I think I'd change object in these statements

Dim currentMonth as object
Dim d as object

to Range

HTH,
Barb Reinhardt
 
B

Bob Phillips

I would think your problem is here

Set currentMonth = Range("StartMonth:EndMonth").Find(Range("ReportMonth"),
LookIn:=xlValues)


assuming that StartMonth and EndMonth are two separate named cells.

Try

Set currentMonth =
Range(Range("StartMonth",Range("EndMonth")).Find(Range("ReportMonth"),
LookIn:=xlValues)


--
HTH

Bob

(there's no email, no snail mail, but somewhere should be gmail in my addy)
 
B

Bob Phillips

I had an error, should have been

Range(Range("StartMonth"),Range("EndMonth")).Find(Range("ReportMonth"),
LookIn:=xlValues)

--
HTH

Bob

(there's no email, no snail mail, but somewhere should be gmail in my addy)
 
A

Animal via OfficeKB.com

I did what you said, but that is not the problem I guess. Because I still get
an error.
The problem occurs in the statement:

1.At first I SET the currentMonth variable
2. Then I SET the d variable (that is based in currentMonth)
3. Then I SET the currentMonth to look for the next value. Set currentMonth =
Range("StartMonth:EndMonth").FindNext (currentMonth). Here it becomes nothing
for some reason.
But when I delete step 2 in the code, everything is as it is supposed to be
and worked well. But as soon as I set the d variable, it doesn't work. Weared
isn't it?

Could someone please help me? It have taken me days to worke this problem out,
and I haven't come up for a solution yeat, puhhhh....

Thanks in advance!
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top