2013-12-10 5 views
1

я форма входа называется «text1, text2, text2 ...» и у меня есть массив строк, чтобы заполнить входы с ...VBA Как использовать переменную строку для вызова переменной или функции?

То, что я хочу это ....

text1.Value = Invoice.input(1) 
text2.Value = Invoice.input(2) 
text3.Value = Invoice.input(3) 

, но это, кажется, как много печатать что-то я знаю, может быть сделано с простым циклом ..

for loop = 1 To loop = 50 
text+i.Value = Invoice.input(i) 
next loop 

как я могу использовать текст + я назвать мой вар, который на самом деле называется text1?

При выполнении поиска в Google несколько человек сказали использовать функцию Eval(), но это не сработало для меня.

Спасибо.

ответ

5

Это следует сделать это: (или по крайней мере помочь)

Sub ControlName() 
    Dim i As Long 
    For i = 1 To 50 
     UserForm1.Controls("text" & i).Value = Invoice.input(i) 
    Next 
End Sub 
+2

+ 1 Пятно на :-) –

+0

Brilliant спасибо !! UserForm1.Controls («text» & var) отлично работает! искал это в течение некоторого времени !!! – Scott

Смежные вопросы