确认至less有一个checkbox被选中
我有search相同的问题,我看到了一些类似的职位,但我的用户表单仍然无法正常工作。 我是VBA和Userform的新手。
我总共有12个checkbox(12个月),我必须检查至less有一个checkbox被选中。
Dim atLeastOneChecked As Boolean atLeastOneChecked = False Dim ctrlNCK As Control For Each ctrlNCK In Controls If TypeName(ctrlNCK) = "chkMonth" Then If ctrlNCK.Value = True Then atLeastOneChecked = True End If Next ctrlNCK If Not atLeastOneChecked = True Then MsgBox "Month cannot be empty.", vbExclamation, "Input Data" Exit Sub End If
这是未经testing的,但请尝试:
If Left(ctrlNCK.Name,8) = "chkMonth" Then
我永远不会期望types是“chkMonth”。 这假定每个相关的CheckBox
名称都以“chkMonth”开头。
如果你只想要一个,只有一个月select,我会考虑在Frame
使用OptionButtons
。