well, that won't do it .... the if .. then .. else will only evaluate the items in order and ignore the rest of the items .. but I suspect you already found that out or you wouldn't be posting here ...
If you know the number of checkboxes, you can separate each into individual if .. then statements ..
If Chkbox1.Value = True Then
'Do Stuff
End If
If Chkbox2.Value = True Then
'Do Stuff
End If
If Chkbox3.Value = True Then
'Do Stuff
End If
However, a more desirable way might be to use the event handler of each checkbox ...
Private Sub Chkbox1_Click ()
If Chkbox1.Value = True Then
'Do Stuff
Else
'Undo Stuff
End If
End Sub
Then what you would do is store the values of each checkbox when the application starts, and if the user cancels, reset the values of the checkboxes causing the undo action to execute.
There are other ways of doing it too, like looping through the controls and do an action based on the control name
'Put this code in a sub that is executed at form closing time, when it wasn't cancelled
Dim cntrl As Control
For Each cntrl In MyForm.Controls 'Change this to your own form name
Select Case cntrl.Name
Case "Chkbox1"
'Do Stuff
Case "Chkbox2"
'Do Stuff
Case "Chkbox3"
'Do Stuff
Case Else
'Do Stuff
End Select
Next cntrl
Good Luck