我需要有关如何使用复选框数组的帮助,如果选中了复选框,则值为:
check1(0) = OK ,check1(1) = X,check1(2) = [X],check1(3) = NP
a=iif(check1(0).Value = vbchecked,"OK")
正在获取错误:
"Error sub or function not defined"
我不确定您提供的代码行将如何产生错误sub or function not defined
。相反,您应该已经收到错误Argument not optional
。该行的语法应如下所示:
a = IIf(Check1(0).Value = vbChecked, "OK", "")
如果我了解您的要求,您可以这样使用IIf
:
a = IIf(Check1(0).Value = vbChecked, "OK", IIf(Check1(1).Value = vbChecked, "X", IIf(Check1(2).Value = vbChecked, "[X]", IIf(Check1(3).Value = vbChecked, "NP", ""))))
但是,我不推荐这种方法。相反,我将像这样构造代码:
If Check1(0).Value = vbChecked Then
a = "OK"
ElseIf Check1(1).Value = vbChecked Then
a = "X"
ElseIf Check1(2).Value = vbChecked Then
a = "[X]"
ElseIf Check1(3).Value = vbChecked Then
a = "NP"
Else
a = ""
End If
是的,还有更多代码,但是代码更易于阅读和维护。