Impedir avance macro si existe valor vacío

Tengo dos formularios UserForm en uno capturo y en el otro válido lo que capture, lo que quiero es que si NO se ngreso un dato en cualquier TextBox, me impida pasar a mi siguiente UserForm, te anexo el código.
'UserForm4
Private Sub CommandButton2_Click()
On Error Resume Next
Dim Nombre As String
Dim Paterno As String
Dim Materno As String
Dim Vacio As Integer
Vacio = 0
Vc = 0
If TextBox1 = "" Then
    Dim mensaje As String
    mensaje = MsgBox("Valor NO ha sido ingresado" & Chr(13) & "Ingresar Valor ?", vbCritical, Title:=" Nombre Completo")
    TextBox1 = Empty
    Load UserForm4
    UserForm4.Show
    Vacio = 1
Else
    Nombre = TextBox1
End If
If TextBox2 = "" Then
    Dim mensaje1 As String
    mensaje1 = MsgBox("Valor NO ha sido ingresado" & Chr(13) & "Ingresar Valor ?", vbCritical, Title:=" Apellido Paterno")
    TextBox1 = Empty
    Load UserForm4
    UserForm4.Show
    Vacio = Vacio + 1
Else
    Paterno = TextBox2
End If
If TextBox3 = "" Then
    Dim mensaje2 As String
    mensaje2 = MsgBox("Valor NO ha sido ingresado" & Chr(13) & "Ingresar Valor ?", vbCritical, Title:="Ingresar Apellido Materno")
    TextBox3 = Empty
    Load UserForm4
    UserForm4.Show
    Vacio = Vacio + 1
Else
    Materno = TextBox3
End If
UserForm3.Label39 = Nombre
UserForm3.Label98 = Paterno
UserForm3.Label99 = Materno
MsgBox ("Hola  existen  " & Vacio & "  campos Vacios, por favor de corregir los datos, Capturando los datos en cada campo, por favor revisa si existen campos vacios antes de continuar, si necesitas ayuda, comunicate con Jesus Alamilla A. Ext.153,  Gracias.")   ', vbCritical, Title:=" Cantidad de Campos Vacios de Captura"
Us = Usr
Vc = Vacio
Validacion_vacios
Unload UserForm4
UserForm3.Show
End Sub
' este es mi proceso que valida, pero no detiene nada, sigue avanzando.
Sub Validacion_vacios()
    If Vacio > 1 Then
    Dim mensaje1 As String
        mensaje1 = MsgBox("Existen valores que NO fueron ingresados" & Chr(13) & " Debes ingresar los Valores", vbCritical, Title:=" Datos Vacios del Empleado")
        Label12 = Empty
        Unload UserForm3
        Load UserForm4
        UserForm4.Show
    Else 'No se que poner aqui
    End If
End Sub
Saludos Cordiales. Jesús Alamilla

1 Respuesta

Respuesta
1
if len(text1)=0 or len(text2)=0 or len(text3)=0   or len(text4)=0 then exit sub
Esta linea evalúa si alguno de los text no tiene datos, te saca del sub de inmediato, por lo general se pone como primera linea antes de realizar cualquier operación que amerite contra con los datos.

Añade tu respuesta

Haz clic para o
El autor de la pregunta ya no la sigue por lo que es posible que no reciba tu respuesta.

Más respuestas relacionadas