这是我想要做的:
Private Function foo(bar As Integer)
For n = 0 To ComboBox(bar).ListCount - 1
[some stuff]
End For
End Function
我在第二行收到错误,因为我正在使用(bar),而不是(例如)2或3。
我能完成我想做的事吗?
答案 0 :(得分:2)
如果这是在用户表单上,您可以使用:
For n = 0 To Me.Controls("ComboBox" & bar).ListCount - 1
如果是工作表模块和ActiveX组合框,则需要:
For n = 0 To Me.OLEObjects("ComboBox" & bar).Object.ListCount - 1
答案 1 :(得分:1)
尝试将控件的名称发送到函数:
Private Function foo(bar As String)
For n = 0 To Me.Controls(bar).ListCount -1
[some stuff]
Next n
End Function
或者,如果您使用(例如)ComboBox1,ComboBox2,ComboBox3 ... ComboBoxN您可以这样做:
Private Function foo(bar As String)
For n = 0 To Me.Controls("ComboBox" & bar).ListCount -1
[some stuff]
Next n
End Function