Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
循环执行vba word中的If语句检查复选框_Vba_Loops_Dynamic_Checkbox_Ms Word - Fatal编程技术网

循环执行vba word中的If语句检查复选框

循环执行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 这是可以实现的还是可以通过不同的方式实现的?

我有一个检查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

这是可以实现的还是可以通过不同的方式实现的?

在下面的示例中,我有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