non-linear step count loop syntax?

  • Thread starter Thread starter Ker_01
  • Start date Start date
K

Ker_01

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
 
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
 
Thanks Rick!
That is one step better than my separate array of values, and more eloquent.
Best regards,
Keith
 
Back
Top