我有一个用于检查singel复选框的代码
Sub check_if_checked()
If CheckBox1.Value Then
MsgBox "checked"
Else
MsgBox "not checked"
End If
End Sub
我想要做的是创建一个循环,在if语句中我可以用循环迭代变量替换复选框号。
像
这样的东西If "CheckBox" & i.Value Then
可以这样做,也可能以不同的方式完成?
答案 0 :(得分:0)
在下面的示例中,我有4个复选框,其中包含以下名称CheckBox1
,CheckBox2
,CheckBox3
,CheckBox4
。
Sub check_if_checked()
Dim i As Integer
i = 1
Do While i <= 4
If (IsNull(Me("CheckBox" & i).value)) Then _
MsgBox ("CheckBox" & i & " is Null") Else _
MsgBox (Me("CheckBox" & i).value)
i = i + 1
Loop
End Sub
或者以下内容对您有用:
Sub check_if_checked()
Dim TempCntrl As Control
For Each TempCntrl In UserForm1.Controls
If TempCntrl.Name Like "CheckBox*" Then
MsgBox (TempCntrl.Name & ": " & TempCntrl.value)
End If
Next
End Sub