Solved

# Repost: Modifying a loop

Posted on 2000-03-27
132 Views
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
0
Question by:ptran2000

LVL 14

Expert Comment

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

0

LVL 7

Expert Comment

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

LVL 7

Accepted Solution

Joe_Griffith earned 50 total points
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

Author Comment

Any way I can make it with just one loop.  The reason is that I also need to add another element.
0

LVL 3

Expert Comment

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

Author Comment

Joe Griffith has posted the answer first,  Joe please repost so I can give you the points

thanks
0

Author Comment

thanks much
0

## Join & Write a Comment Already a member? Login.

### Suggested Solutions

Introduction I needed to skip over some file processing within a For...Next loop in some old production code and wished that VB (classic) had a statement that would drop down to the end of the current iteration, bypassing the statements that were c…
Here are a few simple, working, games that you can use as-is or as the basis for your own games. Tic-Tac-Toe This is one of the simplest of all games.   The game allows for a choice of who goes first and keeps track of the number of wins for…
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…

#### 743 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

#### Need Help in Real-Time?

Connect with top rated Experts

15 Experts available now in Live!