Necesitas una variable que detecte que ha habiado cambio, lo ideal es iniciar un boolean con FALSE y en el Evento CHANGE haces que cambie a TRUE
En el Unload de tu Formulario
Código:
Private Sub Form_Unload(Cancel As Integer)
'Debes tener una variable que indique hubo modificación
SeModifico = 2
If SeModifico Then 'suponiendo que SeModificó es un Boolean
If MsgBox("Desea Salir sin guardar cambios?", vbYesNoCancel) <> vbYes Then
Cancel = True
End If
End If
End Sub