[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Jim May

12/17/2006 9:25:00 PM

Even though the below code can't duplicate sheetname after the first 5 j
loops, Why when I step through the code after the 5th time through the j
Does it go back to For j (and when I hold the mouse over j it shows 6
And want to run lines 4 and 5 a sixth time?
Confused with Nested looping here..



Sub AddSheets()
For i = 1 To 52
For j = 1 To 5
Sheets.Add After:=Worksheets(Worksheets.Count)
ActiveSheet.Name = Format(Weekday(j + 1), "dddd")
Next j
Next i
End Sub

4 Answers

Tom Ogilvy

12/17/2006 9:32:00 PM

0

I suspect you are just seeing the value of J when it is in the outer loop:

Sub AddSheets()
For i = 1 To 3
Debug.Print i, j
For j = 1 To 5
Debug.Print "-->" & j
Next j
Next i
End Sub

produces:

1
-->1
-->2
-->3
-->4
-->5
2 6
-->1
-->2
-->3
-->4
-->5
3 6
-->1
-->2
-->3
-->4
-->5


--
Regards,
Tom Ogilvy



"JMay" <jmay@cox.net> wrote in message
news:Myihh.13587$gj2.11154@newsfe23.lga...
> Even though the below code can't duplicate sheetname after the first 5 j
> loops, Why when I step through the code after the 5th time through the j
> Does it go back to For j (and when I hold the mouse over j it shows 6
> And want to run lines 4 and 5 a sixth time?
> Confused with Nested looping here..
>
>
>
> Sub AddSheets()
> For i = 1 To 52
> For j = 1 To 5
> Sheets.Add After:=Worksheets(Worksheets.Count)
> ActiveSheet.Name = Format(Weekday(j + 1), "dddd")
> Next j
> Next i
> End Sub
>


Niek Otten

12/17/2006 9:32:00 PM

0

<And want to run lines 4 and 5 a sixth time?>

It doesn't. You see the value 6, but it will not execute the next line; it will revert to 1 just in time.
Of course you get errors because of duplicate sheetnames then.

--
Kind regards,

Niek Otten
Microsoft MVP - Excel

"JMay" <jmay@cox.net> wrote in message news:Myihh.13587$gj2.11154@newsfe23.lga...
| Even though the below code can't duplicate sheetname after the first 5 j
| loops, Why when I step through the code after the 5th time through the j
| Does it go back to For j (and when I hold the mouse over j it shows 6
| And want to run lines 4 and 5 a sixth time?
| Confused with Nested looping here..
|
|
|
| Sub AddSheets()
| For i = 1 To 52
| For j = 1 To 5
| Sheets.Add After:=Worksheets(Worksheets.Count)
| ActiveSheet.Name = Format(Weekday(j + 1), "dddd")
| Next j
| Next i
| End Sub
|


Jim May

12/17/2006 10:42:00 PM

0

I promise, when stepping through my code I monitored the j value and as
it went through the loop with the j value of 5 in lines 4 and 5 it went
to
Line 6 (did nothing) then moved to line 7 (Next I - and did nothing)
then,
When I pressed F8 it jumped back to For j = 1 to 5 where j showed as = 6
- I did an F8 it then Jumped to line 4 << Ilooked ahead a line 5 and j
= 1;
Sorry, but if anything can go wrong -- I will find it - or it will find
me, grrrrr

>
> "JMay" <jmay@cox.net> wrote in message news:Myihh.13587$gj2.11154@newsfe23.lga...
> | Even though the below code can't duplicate sheetname after the first 5 j
> | loops, Why when I step through the code after the 5th time through the j
> | Does it go back to For j (and when I hold the mouse over j it shows 6
> | And want to run lines 4 and 5 a sixth time?
> | Confused with Nested looping here..
> |
> |
> |
> | Sub AddSheets()
> | For i = 1 To 52
> | For j = 1 To 5
> | Sheets.Add After:=Worksheets(Worksheets.Count)
> | ActiveSheet.Name = Format(Weekday(j + 1), "dddd")
> | Next j
> | Next i
> | End Sub
> |

Tom Ogilvy

12/17/2006 11:20:00 PM

0

The value of j isn't changed until the for command is executed. The loop
isn't exited until j > 5 (6). when the for statement is highlighted, it
hasn't executed.

So the only thing going wrong is misinterpreting what you observe.

--
Regards,
Tom Ogilvy

"JMay" <jmay@cox.net> wrote in message
news:uHjhh.13601$gj2.12095@newsfe23.lga...
>I promise, when stepping through my code I monitored the j value and as it
>went through the loop with the j value of 5 in lines 4 and 5 it went to
> Line 6 (did nothing) then moved to line 7 (Next I - and did nothing) then,
> When I pressed F8 it jumped back to For j = 1 to 5 where j showed as = 6 -
> I did an F8 it then Jumped to line 4 << Ilooked ahead a line 5 and j = 1;
> Sorry, but if anything can go wrong -- I will find it - or it will find
> me, grrrrr
>
>>
>> "JMay" <jmay@cox.net> wrote in message
>> news:Myihh.13587$gj2.11154@newsfe23.lga...
>> | Even though the below code can't duplicate sheetname after the first 5
>> j
>> | loops, Why when I step through the code after the 5th time through the
>> j
>> | Does it go back to For j (and when I hold the mouse over j it shows 6
>> | And want to run lines 4 and 5 a sixth time?
>> | Confused with Nested looping here..
>> |
>> |
>> |
>> | Sub AddSheets()
>> | For i = 1 To 52
>> | For j = 1 To 5
>> | Sheets.Add After:=Worksheets(Worksheets.Count)
>> | ActiveSheet.Name = Format(Weekday(j + 1), "dddd")
>> | Next j
>> | Next i
>> | End Sub
>> |
>