Проблема в том, что установка флажка не запускает действие Excel, которое можно отменить.(Не имеет значения, являются ли элементы управления формой или ActiveX.)
Если ваши флажки являются элементами управления ActiveX, то вы можете сделать это:
Private Sub VerifyCheckBox(chk As CheckBox)
If chk.Value Then ' only ask question if checkbox has been checked
If MsgBox("Are you sure", vbYesNo, "Eh?") <> vbYes Then
chk.Value = Not chk.Value
End If
End If
End Sub
Тогда вы бывызовите это в событии щелчка каждого флажка.
Private Sub CheckBox1_Click()
VerifyCheckBox CheckBox1
End Sub
Private Sub CheckBox2_Click()
VerifyCheckBox CheckBox2
End Sub