Hola Velma, este código es el que funciona, de este modo te aseguras que metan lo que quieran , te pongo un ejemplo en el que la condicion es que tiene que ser un numero, pero puedes poner la condicion que quieras evidentenemente:
Private Sub txtCodigoCli_LostFocus()
If Not IsNumeric(txtCodigoCli.Text) Then
txtCodigoCli.SetFocus
MsgBox "Por favor, inserte un código correcto", vbCritical + vbOKOnly, "¡Error!"
txtCodigoCli.Text = vbNullString
End If
End Sub
Así hasta que no ponga bien la caja de texto no le dejas irse.
Espero que te ayude, sino miramos otra cosa