msgbox当所有复选框为空
问题描述:
我想构建一个代码,如果所有复选框在我的用户窗体中留空,它将警告用户一个消息框。msgbox当所有复选框为空
有关如何引用一个用户窗体中的所有复选框控件来构建此代码的任何帮助,将不胜感激。
下面是我尝试过的代码的一个例子,但它不起作用。
Dim Allcheckbox As Variant
Allcheckbox = Array("checkbox1", "checkbox2", "checkbox3", "checkbox4", "checkbox5", "checkbox6")
If Controls(Allcheckbox).Value = False Then
MsgBox ("Please select a comparison criteria.")
End If
答
谢谢你的帮助Asher!
我最终使用下面的代码提供了一个解决方案。
Dim x As Integer
x = 0
For Each cCont In Me.Controls
If TypeName(cCont) = "CheckBox" Then
If cCont.Value = True Then
x = x + 1
End If
End If
Next
If x = 0 Then
MsgBox ("Please select a comparison criteria.")
End If
答
我会遍历数组并检查每个复选框的值。如果任何有值=真,那么我们设置一个布尔值为true。这在函数中会更好,您可以传递数组,然后可以在传递true时立即使用Exit函数。
ctrlSelect = False
For Each ctrl In form.Controls
If TypeName(ctrl) = "CheckBox" Then
If crtl.value = "True" Then
ctrlSelect = True
End If
End If
Next ctrl
If Not ctrlSelect Then
MsgBox ("Please select a comparison criteria.")
Exit Sub
End If