我想创建一个循环来更新已经在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
我刚刚试过,没有收到错误,错误在哪里发生?你的第二个循环只产生6,8,10,12,14,16,18和20,所以为什么不能有一个变量y,从6开始每次递增2? –
@Nathan_Sav给出错误的循环/序列是'For y = 2 *(3 + k)To 2 *(3 + k)',它在For'k = 0 To 7'上链接。但是,如果我设置“对于y = 6到6”,例如,它正常运行。 –
你应该'Dim'' k'和'y'作为'Long'而不是'Double'。可能会发生一些舍入错误? – bobajob