我将如何做类似的事情:
Dim amnt As Integer
For x As Integer = 1 To 6
If amnt[x] = 0 Then
btn[x].Enabled = False
End If
Next x
我的意思是,我可以通过使用名称中的另一个变量来引用变量。例如,如果" x"是4,然后我想改变按钮" btn4" to .Enabled = False,但我也希望能够改变我改变属性的按钮。所以喜欢
If (variablesName & x) = 0 Then
如果x为4,那么它应该是这样的
If variablesName4 = 0 Then
答案 0 :(得分:2)
如果您的意思是通过将变量作为字符串提供来评估变量,那么这不能在VBA中完成。
例如:
Dim testVar As Integer
Dim v As String
v = "Var"
testVar = 5
Debug.Print test & v '// error
Debug.Print "test" & v '// prints "testVar" as a string
Debug.Print "testVar" '// prints "testVar" as a string
Debug.Print testVar '// prints "5" <~~ only way it can be done
但是,对于某些控件和其他一些项 - 您可以访问父集合并提供字符串值以获取正确的索引。如下所示:
For i = 1 To 10
'// Will set checkboxes 1 to 10 to be checked
myForm.Controls("Checkbox" & i).Checked = True
Next
就目前而言 - 提出明确答案的问题太广泛了,但根据您正在使用的对象类型,您可以通过这种方式访问父集合。