What is wrong with this vba piece of code?

  • Thread starter Thread starter Jo
  • Start date Start date
J

Jo

Hi,

I am getting this error: "Object variable or With block variable is
not set!" Here is the mcro's code:

Sub Solve()

Dim SCell As Range

Do Until SCell.Value = 1
If SCell.Value <> 1 Then
Range("J24").Select
Calculate
End If
Loop
End Sub

Thanks,
Jo
 
You've declared a range variable but did not assign it a range

Use something like this, substituting the correct range where I have
"Cell_Address_Here_As_String":

Set SCell = Range("Cell_Address_Here_As_String")
 
It might help if you tell us what you are trying to do?

--
Don Guillett
Microsoft MVP Excel
SalesAid Software










- Show quoted text -

Say I have two cells A1 and A2. In A1, I have a random number built
into a formula. In A2, I have a formula like this "if(A1>5,1,0)".

Now, I am creating a Macro that will keep A1 running till its value is
5 where it stops.

So, how can I make the above code runs?

Thanks,
Jo
 
Kevin has responded to your original question... I just wanted to make a
brief comment about your code. You do not need the If-Then test inside your
loop. The

Do Until SCell.Value = 1

statement won't let the loop execute if SCell.Value equals 1, so there is no
need to see if it equals 1 inside the loop itself. If you think it might be
clearer to you, you can change the Do loop statement to this instead...

Do While SCell.Value <> 1

which looks like the If-Then test you were performing originally (you still
would not need the If-Then test within your loop).

Rick
 
Back
Top