Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
non-linear step count loop syntax?
I have an existing workbook that requires modification. The workbook has
arrays that were built for earlier needs, and all of that data needs to be retained (e.g. I can't change the arrays or their contents). However, I have some code that used to loop through all elements of some arrays, and now I need to be more selective. Simplified example- my old code was For x=3 to 10 'do stuff Next and now I need it to be For X=3,5,7-10 'do stuff Next I've worked with linear loops and 1 step values, but I'm not sure how to approach this type of non-linear loop- and I can't recall seeing any examples anywhere that deal with this type of situation. What is the proper syntax to use for the non-linear loop count? Or do I need to build a separate array of my values (3,5,7,8,9,10 in this example) and reference it as MyArray= Array(3,5,7,8,9,10) For Y = 1 to 6 X=MyArray(Y) 'do stuff Next Thanks, Keith |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
non-linear step count loop syntax?
On Apr 8, 10:22*am, "Ker_01" wrote:
and now I need it to be For X=3,5,7-10 *'do stuff Next Welcome to IF/GOTO hell. VB's control structures are not exactly it's strong suit. Maury |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
non-linear step count loop syntax?
You could do it this way...
Dim X As Variant For Each X In Array(3, 5, 7, 8, 9, 10) ' do stuff Next The value of X at each loop will be 3, 5, 7, 8, 9, 10 in order. Rick "Ker_01" wrote in message ... I have an existing workbook that requires modification. The workbook has arrays that were built for earlier needs, and all of that data needs to be retained (e.g. I can't change the arrays or their contents). However, I have some code that used to loop through all elements of some arrays, and now I need to be more selective. Simplified example- my old code was For x=3 to 10 'do stuff Next and now I need it to be For X=3,5,7-10 'do stuff Next I've worked with linear loops and 1 step values, but I'm not sure how to approach this type of non-linear loop- and I can't recall seeing any examples anywhere that deal with this type of situation. What is the proper syntax to use for the non-linear loop count? Or do I need to build a separate array of my values (3,5,7,8,9,10 in this example) and reference it as MyArray= Array(3,5,7,8,9,10) For Y = 1 to 6 X=MyArray(Y) 'do stuff Next Thanks, Keith |
#4
Posted to microsoft.public.excel.programming
|
|||
|
|||
non-linear step count loop syntax?
Thanks Rick!
That is one step better than my separate array of values, and more eloquent. Best regards, Keith "Rick Rothstein (MVP - VB)" wrote in message ... You could do it this way... Dim X As Variant For Each X In Array(3, 5, 7, 8, 9, 10) ' do stuff Next The value of X at each loop will be 3, 5, 7, 8, 9, 10 in order. Rick "Ker_01" wrote in message ... I have an existing workbook that requires modification. The workbook has arrays that were built for earlier needs, and all of that data needs to be retained (e.g. I can't change the arrays or their contents). However, I have some code that used to loop through all elements of some arrays, and now I need to be more selective. Simplified example- my old code was For x=3 to 10 'do stuff Next and now I need it to be For X=3,5,7-10 'do stuff Next I've worked with linear loops and 1 step values, but I'm not sure how to approach this type of non-linear loop- and I can't recall seeing any examples anywhere that deal with this type of situation. What is the proper syntax to use for the non-linear loop count? Or do I need to build a separate array of my values (3,5,7,8,9,10 in this example) and reference it as MyArray= Array(3,5,7,8,9,10) For Y = 1 to 6 X=MyArray(Y) 'do stuff Next Thanks, Keith |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Syntax for stopping a Do Loop? | Excel Discussion (Misc queries) | |||
Do...Loop syntax help? | Excel Programming | |||
Do loop until, step down row - copy paste - not what it seems. | Excel Programming | |||
loop syntax | Excel Programming |