View Single Post
  #8   Report Post  
Posted to microsoft.public.excel.programming
gocush[_29_] gocush[_29_] is offline
external usenet poster
 
Posts: 252
Default Macro problem on, Yellowed line - previous line or next line.

What happens if you place your cursor inside this procedure, click F8 to step
into the code, then move directly to this line:

Worksheets("FastPlay").Range("a1:ew39,bx45:dc45"). Calculate

and click F8 again (bypassing the if clause) ?

You may have a problem with some kind of Calculation loop that is too long
or hangs for some reason.

"Ed" wrote:



"Bob Phillips" wrote:

The yellowed line is where VBA has a problem in continuing to execute the
code, it nay not be the line where the problem is. For instance, there is
nothing intrinsically wrong with this code

Range("A1").Resize(7,myVar).Select

but if myVar contains the value 0 will fail. That line will yellow, but the
problem is where nyVar is set, or not.

Post your code, and explain what it is doing, and we'll take a look.

--

HTH

RP
(remove nothere from the email address if mailing direct)


"Ed" wrote in message
...


"JW" wrote:

Hi Ed,
It has been my experience that the proble is always in the line that is
yellowed.

"Ed" wrote:

In a macro procedure that runs over and over again automatically, then

stops
because of a problem. Then you look at the procedure to debug it and

find
the line the is marked in yellow. Is the problem always in that

yellowed
line or could it be in the next line or in the line preceding?
Thankyou,
Ed
Hi JW
Thanks for the information.
I guess I always thought the problem was always in the yellowed line.
My question was prompted by getting an END IF line with the yellow mark.
Then I couldn't figure out what could be wrong with that line.
It was spelled correctly and everything.
Got any comments on that?
Ed


Hi

Here is a section of my code.

Line996:

If Worksheets("Blackjack").Range("fa13").Value = 2 Or
Worksheets("Blackjack").Range("fa14").Value = 2 Then

Worksheets("FastPlay").Range("a1:ew39,bx45:dc45"). Calculate
Else
Worksheets("FastPlay").Range("a1:ew39").Calculate
End If 'stopped with yellow on this line.

If speed = 1 Then Call OneHandOnly 'has also stopped with yellow on this
line once.
(end of sample section)

This sample section is right at the end of this PROCEDURE.
Processing transfers to this PROCEDURE by a CALL.
Processing transfers back right after this section shown unless SPEED = 1,
then it transfers by CALL to ONE HAND ONLY procedure, where processing ends.
I'm interested in any comments you might have.
Thankyou,
Ed