Problema al elaborar Formulario con Vba excel

Hola Experto, ¿soy nuevo aquí y quisiera su ayuda en VBA excel? He elaborado un formulario pero cada vez que el usuario no llena todo el formulario y da click en aceptar para grabar el registro, mi macro se cae... Me dirige a los errores por usar CDATE(xxxx) o cuando uso Str(xxx), quisiera saber como hago para evitar esto... Y que el usuario llene todo el formulario.. Espero haya sido claro, Gracias Experto

1 respuesta

Respuesta
1
Lo que puedes hacer es
Una función de validación por cada capo que tiene el formulario...
1.- Puedes deshabilitar todos los campos del formulario, y que se vayan habilitando conforme avanza.
Ahora, esto también implicaría que se debe validar la información que se carga en cada campo.
2.- Otra, una función general que valide que el formulario se lleno por completo. Y si fue así, lo dejas hacer las tareas que hace ese botón...
Entiendo eso de validar... pero como hago eso, que propiedad modifico o que sentencia uso :S... ¿cómo utilizo la función validación?
Te paso alguno ejemplos:
A través del campo siguiente
Private Sub TextBox2_Change()
'Ejemplo 1
Dim Mensaje, Estilo, Título, Ayuda, Ctxt, Respuesta, MiCadena
If Len(Trim(TextBox1.Value)) = 0 Then
    Mensaje = "Debe llenar el TextBox1, antes del TextBox2"
    Estilo = vbOK
    Título = "Ejemplo de Mensaje"
    Respuesta = MsgBox(Mensaje, Estilo, Título)
    TextBox2.Value = ""
    TextBox1.SetFocus
End If
End Sub
'Habilitando si y solo si llenaron el primero...
Private Sub TextBox1_Change()
'Ejemplo 2
Dim Mensaje, Estilo, Título, Ayuda, Ctxt, Respuesta, MiCadena
If Not IsNumeric(TextBox1.Value) Then
    Mensaje = "El tado debe ser númerico"
    Estilo = vbOK
    Título = "Ejemplo de Mensaje"
    Respuesta = MsgBox(Mensaje, Estilo, Título)
    TextBox1.SetFocus
End If
End Sub
Private Sub TextBox1_Change()
'Ejemplo3
If Len(Trim(TextBox1.Value)) = 0 Then
    TextBox1.Enabled = False
Else
    TextBox1.Enabled = True
End If
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas