the simplest solution

[VBA]Private Sub Userform_QueryClose(Cancel As Integer, closemode As Integer)
If closemode = vbFormControlMenu Then
MsgBox "Sorry you must use Cancel or Exit Button"
Cancel = True
End If
End Sub
[/VBA]