View Single Post
  #1   Report Post  
Posted to microsoft.public.excel.programming
Toppers Toppers is offline
external usenet poster
 
Posts: 4,339
Default Find textboxes on a form ?

Hi,
One solution is to use the number of the textbox as the value of X
i.e. for tb3 , x=3: for tb10, x=10

For Each ctl In Me.Controls
If TypeName(ctl) = "TextBox" Then
If LCase(Left(ctl.Name, 2)) = "tb" Then
x = Right(ctl.Name, Len(ctl.Name) - 2)
ctl.Value = ArrayMaterielPlacering(x, 3)

End If
End If
Next ctl


HTH

"SpookiePower" wrote:

I Have a lot of Textboxes on my form and from an array I put numbers into these textboxes.
But it is only some of the textboxes that I want to put numbers in.

The names of my textboxes are TB1,TB2,TB3,TB4,TB5.........

My array consist of these numbers 1,2,3,4,5,6......

I find the correct textboxes using this metod -

For Each ctl In Me.Controls
If TypeName(ctl) = "TextBox" Then
If LCase(Left(ctl.Name, 2)) = "tb" Then
ctl.Value = ArrayMaterielPlacering(X, 3)
X = X + 1
End If
End If
Next ctl

What I want to do is to put the numbers fra the array into the textboxes -
1 into TB1, 2 into TB2, 3 into TB3, 4 into TB4.....

But the result came out this way

TB1 = 1, TB2 = 2, TB3 = 4, TB4 = 3, TB5 = 5, TB6 = 6 ....

TB3 and TB4 is swapping number ?

I found out that the metode - For Each ctl In Me.Controls -
found the textboxes on the form in this way - TB1,TB2,TB4,TB3,TB5,TB6.......

Hwo can I make the metod - For Each ctl In Me.Controls - find TB3 before TB4 ?

What I did was to change the place of TB4 and TB3 and then change the names, but is
it the correct way to do it ? Will there be ploblems later on ?