我该如何做类似的事情呢:
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"更改为。enabled = False,但我也希望能够更改我正在更改属性的按钮。比如
If (variablesName & x) = 0 Then
如果x是4,那么它应该是这样的
If variablesName4 = 0 Then
如果您的意思是通过提供它的名称作为字符串来计算变量-那么这不能在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
作为它的立场-这是一个太宽泛的问题,给出一个明确的答案,但根据您正在处理的对象的类型,您可能能够以这种方式访问父集合