I am trying to force users to enter certain information in a spreadsheet, and if they don't enter it they won't be able to save the spreadsheet. e.g. if a bonus recommendation is over a certain threshold they have to enter an explanation. if they don't enter the explanation I want it to display a message and prevent them from saving the file.

This is what I have at the moment...there are 3 different instances where I want the save to be prevented, but at the moment the messages display (I've entered test data) but the workbook still saves. any ideas what I'm doing wrong?

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
With Worksheets("Protected Data")
If .Range("BL3").Value > 0 Then MsgBox "YOU MUST ENTER AN EXPLANATION FOR ANY RECOMMENDATION ABOVE THE GUIDELINES LIMITS"
Cancel = True
If .Range("BL3").Value = 0 Then Cancel = False

If .Range("DP3").Value > 0 Then MsgBox "ONE-UP RATING MUST BE ENTERED FOR ALL EMPLOYEES WITH A RECOMMENDATION"
Cancel = True
If .Range("DP3").Value = 0 Then Cancel = False

If .Range("DO927").Value > 0 Then MsgBox "YOU MUST ENTER A COUNTRY FOR ALL CONTRIBUTIONS YOU ARE MAKING TO OTHER BU'S"
Cancel = True
If .Range("DO927").Value = 0 Then Cancel = False
End With
End Sub