A problem like this can be a little more involved than you may initially think, due to VB's handling of events. I messed around and came up with this, which I think will do what you want. (You can open a new VB project, slap a listbox with checkbox style on the form, paste in this code, and check it out.)

VB Code:
  1. Option Explicit
  2.  
  3. Dim mblnSuppressClick   As Boolean
  4. Dim mblnAfterItemCheck  As Boolean
  5.  
  6. Private Sub Form_Load()
  7.    
  8.     Dim intX    As Integer
  9.    
  10.     For intX = 1 To 10
  11.         List1.AddItem "Person #" & intX
  12.     Next
  13.  
  14. End Sub
  15.  
  16. Private Sub List1_Click()
  17.    
  18.     If mblnAfterItemCheck = True Then
  19.         mblnAfterItemCheck = False
  20.         Exit Sub
  21.     End If
  22.    
  23.     If mblnSuppressClick = True Then
  24.         mblnSuppressClick = False
  25.         Exit Sub
  26.     End If
  27.  
  28.     mblnSuppressClick = True
  29.  
  30.     If List1.SelCount > 6 Then
  31.         MsgBox "A maximum of 6 people can be selected."
  32.         List1.Selected(List1.ListIndex) = False
  33.     Else
  34.         List1.Selected(List1.ListIndex) = Not List1.Selected(List1.ListIndex)
  35.         If List1.SelCount > 6 Then
  36.             MsgBox "A maximum of 6 people can be selected."
  37.             List1.Selected(List1.ListIndex) = False
  38.         End If
  39.     End If
  40.    
  41.    
  42. End Sub
  43.  
  44. Private Sub List1_ItemCheck(Item As Integer)
  45.    
  46.     If mblnSuppressClick = True Then
  47.         mblnSuppressClick = False
  48.         mblnAfterItemCheck = True
  49.         Exit Sub
  50.     End If
  51.  
  52.     mblnSuppressClick = True
  53.    
  54.     If List1.SelCount > 6 Then
  55.         MsgBox "A maximum of 6 people can be selected."
  56.         List1.Selected(List1.ListIndex) = False
  57.     End If
  58.    
  59. End Sub