2016-05-13 50 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。