Filling TextBoxes

F

Freddie Mac

I want to fill several textboxes placed in a userform with the contents of
one textbox. My code is:

Private Sub getInfoFromTextBox1()
userForm1.startDatumTextBox1.text = userForm1.TextBox1.text
userForm1.startDatumTextBox2.text = userForm1.TextBox1.text
userForm1.startDatumTextBox3.text = userForm1.TextBox1.text
.......
End Sub

Now I understand that you can do this in a more efficient manner by looping
it. I got some help but I dont know how to use it (my help function is not
working). The code that I got is:

For each Control in (whatever object you are working with) if Control.name
like "Control*" then
In here I then use Strings.left or Strings.right to sequence my way
through
each of the ending digits. Or I use some other variation on this
theme.
End if

I dont really know how to use it in my case..(i am really bad at VB...).
Please help me out! Would be most greatful!
 
G

Greg Wilson

Try:

Private Sub getInfoFromTextBox1()
Dim i As Integer
For i = 1 To 3
Me.Controls("startDatumTextBox" & i).Text = TextBox1.Text
Next
End Sub

The controls also have an index property in addition to a name property as
shown above. The index value depends on the order they were added to the UF.
However, the first control added will have an index value of zero (0), not 1.

If the textboxes were added in sequence and TextBox1 was the 4th control
added (index = 3) and the others were added in sequence then you could also
use this:

Private Sub getInfoFromTextBox1()
Dim i As Integer
For i = 4 To 6
Me.Controls(i).Text = Me.Controls(3).Text
Next
End Sub

Regards,
Greg
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top