Repost: Modifying a loop

Ok, this is what I need the loop to do.
For i = 0 To 31

txtName(0).text=499
txtName(1).text=581 ' 499+82
txtName(2).text=663 ' 499+82+82
.........txtName(31)....
Below are the desired results, notice that at
txtName(16) the value is 539,
txtName(17) the value is 621 '539+82

0      499
1      581
2      663
3      745
4      827
5      909
6      991
7      1073
8      1155
9      1237
10      1319
11      1401
12      1483
13      1565
14      1647
15      1729
16      539
17      621
18      703
19      785
20      867
21      949
22      1031
23      1113
24      1195
25      1277
26      1359
27      1441
28      1523
29      1605
30      1687
31      1769

Thanks much
ptran2000Asked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
Joe_GriffithConnect With a Mentor Commented:
if it has to be in a single loop then try this:

  Dim i           As Integer
  Dim txtName(31) As Integer
 
  For i = 0 To 31
    If i < 16 Then
      txtName(i) = 499 + i * 82
    Else
      txtName(i) = 539 + (i - 16) * 82
    End If
  Next
 
  For i = 0 To 31
    Debug.Print i, txtName(i)
  Next
0
 
mcriderCommented:
I think this is what you want...


    Dim iVal As Long
    Dim jVal As Long
    jVal = 499
    For iVal = 0 To 15
        txtName(iVal) = CStr(jVal)
        jVal = jVal + 82
    Next iVal
    jVal = 539
    For iVal = 16 To 31
        txtName(iVal) = CStr(jVal)
        jVal = jVal + 82
    Next iVal



Cheers!®©
0
 
Joe_GriffithCommented:
There are many ways to do this.  I think the most straight forward method is to break it into two loops:

  Dim i           As Integer
  Dim txtName(31) As Integer
 
  For i = 0 To 15
    txtName(i) = 499 + i * 82
  Next
  For i = 16 To 31
    txtName(i) = 539 + (i - 16) * 82
  Next
 
  For i = 0 To 31
    Debug.Print i, txtName(i)
  Next
0
Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

 
ptran2000Author Commented:
Any way I can make it with just one loop.  The reason is that I also need to add another element.
0
 
wpsjr1Commented:
Dim i%, lValue&, lCounter&
 
  lValue = 499
  For i = 0 To 31
    If i = 16 Then: lValue = 539: lCounter = 0
    txtName(i).Text = CStr(lValue + (lCounter * 82))
    lCounter = lCounter + 1
  Next i

Enjoy!  :)

Paul
0
 
ptran2000Author Commented:
Joe Griffith has posted the answer first,  Joe please repost so I can give you the points

thanks
0
 
ptran2000Author Commented:
thanks much
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.