我正在尝试创建一个循环来更新一些" TextBox"已在Userform上创建。 问题是,当我链接行
For y = 2 * (3 + k) To 2 * (3 + k)
使用
For k = 0 To 7
我收到错误错误。但如果我定义y = 6,一切都很顺利。
你可以帮帮我吗?请参阅下面的整个代码:
Sub Update_TextBox_Preco()
Dim k As Double
Dim myarray2 As Variant
Dim y As Double
Dim Textbox As String
Dim Textbox_1 As String
Dim line As Variant
Array with contained TextBox names
myarray2 = Array("TextBox_Moeda_Atual", "TextBox_Medida_Atual", "TextBox_Acond_Atual", "TextBox_Lote_Atual", _
"TextBox_Incoterm_Atual", "TextBox_p_liq_atual", "TextBox_encargo_atual", "TextBox_Frete_Atual")
For k = 0 To 7
Textbox = myarray2(k)
For y = 2 * (3 + k) To 2 * (3 + k)
UserForm1.Controls(Textbox).Value = Worksheets("PANEL").Cells(y, 45).Value
Next y
Next k
End Sub
答案 0 :(得分:1)
摆脱y
循环。它只会触发一次,所以每次在y
循环中移动时都设置k
。
Sub Update_TextBox_Preco()
Dim k As Long
Dim myarray2 As Variant
Dim y As Long
Dim TextBoxUp As String
Dim Textbox_1 As String
Dim line As Variant
'Array with contained TextBox names
myarray2 = Array("TextBox_Moeda_Atual", "TextBox_Medida_Atual", "TextBox_Acond_Atual", "TextBox_Lote_Atual", _
"TextBox_Incoterm_Atual", "TextBox_p_liq_atual", "TextBox_encargo_atual", "TextBox_Frete_Atual")
For k = 0 To 7
TextBoxUp = myarray2(k)
y = 2 * (3 + k)
UserForm1.Controls(TextBoxUp).Value = Worksheets("PANEL").Cells(y, 45).Value
Next k
End Sub