VBA使用for循环隐藏多个文本框

时间:2015-01-29 08:39:34

标签: vba variables excel-vba for-loop excel

我在excel中有一个带有多个文本框的VBA表单,名为tboTEXT1,tboTEXT2,依此类推到tboTEXT20。我还有一个文本框tboNumber,当我输入1到20之间的数字时,应该可以看到tboTEXT文本框的数量。所以我使用tboNumber_Change()。在首先输入的每个数字上,应使tboTEXT文本框不可见,然后根据在tboNumber中输入的数字使其可见。 问题:我想使用for循环通过tboTEXTi文本框,i = 1到20,而不是20次tboTEXTi.visible = false。 无论我到目前为止使用了什么,我总会得到一个错误,东西lke"对象需要" ...

Private Sub tboNumber_Change()
For i = 1 To 20
varTEXT = "formFORM.tboTEXT" & i
varTEXT.Visible = False
Next i

1 个答案:

答案 0 :(得分:0)

您需要更改此行:

VarTEXT = "formFORM.tboTEXT" & i

使用:

Set VarTEXT = formFORM.Controls("tboTEXT" & i)

通过这种方式,您将正确引用文本框对象。否则你的varTEXT将不会超过一个字符串。