循环执行vba word中的If语句检查复选框
我有一个检查singel复选框的代码循环执行vba word中的If语句检查复选框,vba,loops,dynamic,checkbox,ms-word,Vba,Loops,Dynamic,Checkbox,Ms Word,我有一个检查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 这是可以实现的还是可以通过不同的方式实现的?
Sub check_if_checked()
If CheckBox1.Value Then
MsgBox "checked"
Else
MsgBox "not checked"
End If
End Sub
我想做的是创建一个循环,在if语句中,我可以用循环迭代变量替换复选框编号
差不多
If "CheckBox" & i.Value Then
这是可以实现的还是可以通过不同的方式实现的?在下面的示例中,我有4个复选框,它们的名称如下:
复选框1
,复选框2
,复选框3
,复选框4
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
当我尝试运行该代码时,会出现错误“参数数目错误或属性分配无效”,请在Do While内尝试以下操作:
MsgBox(Me(“CheckBox”&i).value)
i=i+1
。如果这不起作用,那么让我知道它在哪里出错。仍然得到:“编译错误:参数数目错误或属性分配无效”
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