我正在制作一个循环来从组合形式中获取数据。
Analysis_
1是第一个变量
Analysis_1_ComboB
是屏幕上的第一个ComboBox
Analysis_1 = Me.Analysis_1_ComboB.Column(0)
Analysis_2 = Me.Analysis_2_ComboB.Column(0)
Analysis_3 = Me.Analysis_3_ComboB.Column(0)
等等
作为单行,它正在工作我想要使用循环
for counter = 1 to 9
Analysis_&Counter = Me.Analysis_&Counter&_ComboB.Column(0)
next counter
不幸的是,这不起作用,谁可以帮助我在这里?
答案 0 :(得分:2)
不幸的是,您无法动态指定变量名称。 (您通常可以找到一种动态访问各种对象的方法,尤其是当它们可以作为“名称”索引访问时。)
实现你想要做的事情的最好方法是使你的变量成为一个数组,例如:
Dim Analysis(1 To 9) As String
For counter = 1 To 9
Analysis(counter) = Me.Controls("Analysis_" & counter & "_ComboB").Column(0)
Next counter
MsgBox "Value from Analysis_5_ComboB is " & Analysis(5)
(此代码假定您的ComboBox在UserForm上,因此可以通过表单的Controls
集合动态访问。)