2016-05-13 74 views
0

我正在使用VBA为SolidWorks编程宏,并且由于这更多的是一个语法问题,我以为我会在这里问它。对于使用变量名索引的VBA中的循环

所以我写的宏使用16个复选框,命名为CheckBox1,CheckBox2,... CheckBox16。

我厌倦了这个(代码如下),但出现错误,因为编译器说var名称“CheckBoxi”没有定义。

For i = 0 To 16 

    If CheckBoxi.Value Then 
     'Do Something 
    End If 

Next For 

有没有办法让我可以解决这个问题,我真的不想为“有所作为”位键入16个这样的语句包含相当多的代码。通过修复我的意思是把它放在for循环中。谢谢!

+0

这些复选框在用户窗体上? –

+0

谢谢@JohnColeman,我与excel混淆! –

+0

@AlexK由于Solidworks不能访问,所以这并不明显,这是重复的。如果复选框位于一般用户窗体上,那么确定它是重复的,但如果SolidWorks允许嵌入控件,则可能需要一个解决Solidworks对象模型细节的答案。 –

回答

0

me.controls("Checkbox" & I).value在哪里我将是包含的形式。此外,你的循环从0开始,但你的帖子说1。