我有这样的事情:
For i = 1 to 4
cur_tab = "tab_event" & i
For e = 1 to Ubound(cur_tab)
' do something
Next
Next
我需要动态更改cur_tab,但由于Ubound(cur_tab)返回一个字符串(例如)* Ubound(“tab_event1”)*
,它无法正常工作*我已宣布所有变量,当然我有'我'表
“下标超出范围”
有什么想法吗?
答案 0 :(得分:2)
您要实现的目标称为Variable Variables
。它在VBA中不起作用。如果您有一个共同的程序,那么使用一个单独的程序并反复使用它。
例如,您的代码可以写为
Sub Sample()
'
'~~> Rest Of Your Code
'
For e = 1 To UBound(tab_event1)
MySub
Next
For e = 1 To UBound(tab_event2)
MySub
Next
For e = 1 To UBound(tab_event3)
MySub
Next
For e = 1 To UBound(tab_event4)
MySub
Next
'
'~~> Rest Of Your Code
'
End Sub
Sub MySub()
MsgBox "Hello World!"
End Sub