繁体   English   中英

在VBA中使用计数器

[英]Using a counter in VBA

我正在做一个循环,以从组合表单中获取数据。

Analysis_是第一个变量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

不幸的是,这不起作用,谁可以在这里帮助我?

不幸的是,您不能动态指定变量名。 (通常,您可以找到一种动态访问各种对象的方法,特别是如果可以通过“名称”索引访问它们的话)。

实现您想要执行的操作的最佳方法是使变量成为数组,例如:

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)

(此代码假定您的ComboBoxes位于UserForm上,因此可以通过表单的Controls集合动态访问。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM