Cuando se trata de ingresar y trabajar con números hay que tratarlos como tal, si trabajas con decimales tienes que usar variables de coma flotante (double)
espero que funcione este codigo:
Código:
Private Sub Text3_LostFocus()
Dim preciomenor as double
Dim preciomayor as double
If Len(Trim(Text3.Text)) >= 1 Then
If IsNumeric(Text3) Then
preciomenor = 0.10
preciomayor = 2000
If val(Text3) < preciomenor Then
Text3 = ""
Text3.SetFocus
MsgBox "No se pueden ingresar precios menores a $0.10", vbCritical, "Atención"
ElseIf val(Text3) > preciomayor Then
Text3 = ""
Text3.SetFocus
MsgBox "No se pueden ingresar precios mayores a $2000 ", vbCritical, "Atención"
End If
Else
MsgBox "Lo que ingresó no es un precio"
End If
Else
KeyAscii = 0
End If
End Sub