Yes. You need to check the state of the checkbox being altered and if unset you can also unset CB7.
Standard code module
Public g_blnUpdating As Boolean
Sub CheckAll()
Dim lngIndex As Long
Dim blnState As Boolean
blnState = ActiveSheet.Shapes("CheckBox7").OLEFormat.Object.Object.Value
g_blnUpdating = True
For lngIndex = 1 To 6
With ActiveSheet
With .Shapes("CheckBox" & lngIndex)
.OLEFormat.Object.Object.Value = blnState
End With
End With
Next
g_blnUpdating = False
End Sub
Worksheet object
Private Sub CheckBox1_Click()
If g_blnUpdating Then Exit Sub
If Not CheckBox1.Value Then
g_blnUpdating = True
CheckBox7.Value = False
g_blnUpdating = False
End If
End Sub
Private Sub CheckBox2_Click()
If g_blnUpdating Then Exit Sub
If Not CheckBox2.Value Then
g_blnUpdating = True
CheckBox7.Value = False
g_blnUpdating = False
End If
End Sub
Private Sub CheckBox3_Click()
If g_blnUpdating Then Exit Sub
If Not CheckBox3.Value Then
g_blnUpdating = True
CheckBox7.Value = False
g_blnUpdating = False
End If
End Sub
Private Sub CheckBox4_Click()
If g_blnUpdating Then Exit Sub
If Not CheckBox4.Value Then
g_blnUpdating = True
CheckBox7.Value = False
g_blnUpdating = False
End If
End Sub
Private Sub CheckBox5_Click()
If g_blnUpdating Then Exit Sub
If Not CheckBox5.Value Then
g_blnUpdating = True
CheckBox7.Value = False
g_blnUpdating = False
End If
End Sub
Private Sub CheckBox6_Click()
If g_blnUpdating Then Exit Sub
If Not CheckBox6.Value Then
g_blnUpdating = True
CheckBox7.Value = False
g_blnUpdating = False
End If
End Sub
Private Sub CheckBox7_Click()
If g_blnUpdating Then Exit Sub
CheckAll
End Sub
Bookmarks