Use the Count property to determine exactly how many controls are loaded. You can also use the For Each loop to perform code on each control. For instance, if you have a control array of check boxes and you don’t want more than three checked, use this code:
Private Sub Check1_Click(Index As Integer) Dim chk As CheckBox Dim lCnt As Long Const cMAX = 3 For Each chk In Check1 If chk.Value = vbChecked Then lCnt = lCnt + 1 If lCnt > cMAX Then Check1(Index).Value = vbUnchecked MsgBox "Too many checked!" Exit For End If End If Next chkEnd Sub