I think you should be using Content Controls for the checkboxes and the reporting fields.
This macro goes into the ThisDocument module
Code:
Private Sub Document_ContentControlOnExit(ByVal thisCC As ContentControl, Cancel As Boolean)
Dim aCC As ContentControl, iTotal As Integer, iChecked As Integer, dPercent As Double
If thisCC.Type = wdContentControlCheckBox Then
iTotal = ActiveDocument.SelectContentControlsByTag("Check").Count
For Each aCC In ActiveDocument.SelectContentControlsByTag("Check")
If aCC.Checked Then iChecked = iChecked + 1
Next aCC
ActiveDocument.SelectContentControlsByTitle("Number Checked")(1).Range.Text = iChecked
ActiveDocument.SelectContentControlsByTitle("Number Total")(1).Range.Text = iTotal
ActiveDocument.SelectContentControlsByTitle("Percentage Checked")(1).Range.Text = Format(iChecked / iTotal, "0%")
End If
End Sub
Have a look at the attached document as a demo. Check out the properties for each Content Control as they are important for the macro to run correctly.