Mensaje de Error en un TextBox en excel
Tengo un formulario en el cual ingreso la información de pagos recibidos de una cartera de clientes en el cual ingrso fecha, gestor de cobro, tipo de servicio y tengo una validación en la cual ingreso el valor del deposito este es un textbox con formato de decimal es decir xxx, xxx. 00 y luego otro textbox en donde ingreso el valor del corte de caja con el mismo formato esto para validar que los documentos estén en balance, en el textbox de fecha el experto Dante Amor de esta página me proporciono un código para que si no ingreso una fecha valida me aparezca un msgbox donde me informa que debo ingresar una fecha con el formato DD/MM /AAAA de lo contrario no avanza al siguiente control.
En el caso de los controles donde ingreso los valores quisiera que un mensaje similar a este se presentara cuando ingreso un valor no válido es decir introducir algo que no sea un numero o deje el control en blanco porque actualmente cuando una de estas dos cosas sucede me aparece un error y me finaliza el formulario y tengo que volver a ingresar de nuevo la información del pago
A continuación dejo el código que me proporcionaron en el textbox del fecha y el código que tengo en los textbox donde ingreso los valores antes mencionados.
Espero que me puedan ayudar mil gracias
Este es el código del textbox fecha
Private Sub Fecha_Exit(ByVal cancel As MSForms.ReturnBoolean)
'Act.Por.Dante Amor
'si salir igual a 0, entonces significa que estás cerrando el form
If salir = 0 Then Exit Sub
If Fecha = "" Then
MsgBox ("Ingrese una fecha con formato DD/MM/AAAA")
Me.Fecha = ""
Me.Fecha.SetFocus
cancel = True
Else
If Not IsDate(Fecha) Or Len(Fecha) <> 10 Then
MsgBox ("Ingrese una fecha con formato DD/MM/AAAA")
Me.Fecha = ""
Me.Fecha.SetFocus
cancel = True
End If
End If
End Sub
Private Sub UserForm_Activate()
'Por.Dante Amor
'se inicia la variable salir con 1
salir = 1
End Sub
'
Private Sub UserForm_QueryClose(cancel As Integer, CloseMode As Integer)
'Por.Dante Amor
'si estás cerrando el form salir cambia a 0
If CloseMode = 0 Then
salir = 0
End If
End Sub
la variable salir esta declarada al inicio del formulario Dim Salir
Este es el código que uso en los textbox Vl_Corte y Vl_Deposito que tiene formato de moneda (sin símbolo de moneda)
Private Sub Vl_Corte_BeforeUpdate(ByVal cancel As MSForms.ReturnBoolean)
Vl_Corte = Format(Val(Vl_Corte), "###,###,##0.00")
End Sub
Private Sub Vl_Corte_Exit(ByVal cancel As MSForms.ReturnBoolean)
corte = Vl_Corte.Value
Lb_Diferencia.Caption = Format(depo - corte, "#,#0.00")
End Sub
Private Sub Vl_Depo_beforeupdate(ByVal cancel As MSForms.ReturnBoolean)
Vl_Depo = Format(Val(Vl_Depo), "###,###,##0.00")
End Sub
Private Sub Vl_Depo_Exit(ByVal cancel As MSForms.ReturnBoolean)
depo = Vl_Depo.Value
Lb_Diferencia.Caption = Format(depo - corte, "#,#0.00")
End Sub
Gracias Saludos desde Honduras