Dynamic userform field names

  • Thread starter Thread starter rsphorler
  • Start date Start date
R

rsphorler

Hi

I am trying to split some text from one textbox in to multiple text
boxes. Basically in the first text box (seq_a) the user will paste a
seqeunce and this will then be split into individual bases with one
per text box (the text boxes are named a1-a20). The problem is how to
refer to the individual text boxes, at the moment the only way i can
see to do this is individually refer to the boxes:

a1 = Mid(seq_a, 1, 1)
a2 = Mid(seq_a, 2, 1)
a3 = Mid(seq_a, 3, 1)
......

But there must be a way to do so dynamically something like:

For i = 1 To Len(seq_a)
"a" & i = Mid(seq_a, i, 1)
next i

but "a" & i does not work and I am not sure if one can actually do
this step dynamically

Richard




Next i
 
Assuming we are talking forms textboxes

For i = 1 To Len(seq_a)
Me.Controls("a" & i).Text = Mid(seq_a, i, 1)
next i


--
---
HTH

Bob


(there's no email, no snail mail, but somewhere should be gmail in my addy)
 
Richard

I am not totally sure what you are trying to do, but, the following
code should head you in the right direction. If you have 4 textboxes
on a worksheet, and you put 4 characters as the text in the first one,
then run this code, one character of the initial value in textbox1
will go into each of the 4 textboxes.

Sub test()

i = 1
seq_a = ActiveSheet.OLEObjects(1).Object.Value
For Each oleob In ActiveSheet.OLEObjects
If TypeOf oleob.Object Is msforms.TextBox Then
oleob.Object.Value = Mid(seq_a, i, 1)
i = i + 1
End If
Next
End Sub

Good luck.


Ken
Norfolk, Va
 
Assuming we are talking forms textboxes

For i = 1 To Len(seq_a)
    Me.Controls("a" & i).Text = Mid(seq_a, i, 1)
next i

--
---
HTH

Bob

(there's no email, no snail mail, but somewhere should be gmail in my addy)











- Show quoted text -

Thanks to both of you the simple code above worked great

Richard
 

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

Back
Top