No puedo con Error 13 - Type Mismatch
Tengo este código en VBA que hace lo siguiente
* Busca el ultimo valor capturado
* Busca la tolerancia (rango) para comparar el ultimo dato capturado y el actual
* Se captura un valor mediante un formulario, (Textbox5) puede ser entero o fracción o negativo
Si capturo números enteros trabaja bien pero si capturo un numero negativo o comienzo por un punto me marca el error 13 type mismatch y no puedo con el, su ayuda por favor, aquí el código, la primera rutina valida que se ingresen solo números punto o signo negativo, la segunda rutina es la que tiene el error al hacer la resta de el textbox5 - el dato anterior. (Esta en negrita ycursiva) Muchas Gracias
Private Sub TextBox5_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
'Dato 5 Angulo Fb - Solo permite ingresar nros, punto y guion
If KeyAscii <> 46 And KeyAscii <> 45 Then
If KeyAscii < 48 Or KeyAscii > 57 Then
KeyAscii = 0: MsgBox "Error en el dato. Solo se aceptan valores numéricos"
End If
End If
End Sub
Private Sub TextBox5_Change()
Dim last_rec As Long
Dim last_fb1 As Double
Dim tol_rango As Double
' encontrar el ultimo registro grabado
last_rec = Sheets("Datag").Range("F" & Rows.Count).End(xlUp).Row
' asignar el valor del ultimo dato Fb a variable last_fb1
last_fb1 = Worksheets("Datag").Range("F" & last_rec).Value
' asignar tolerancia dato a dato a variable t1
t1 = Worksheets("Menu").Range("G30").Value
tol_rango = TextBox5 - last_fb1
If tol_rango > t1 Then
MsgBox "HAS INGRESADO UN DATO MAYOR A LA TOLERANCIA ADMITIDA RESPECTO AL DATO ANTERIOR"
End If
End Sub