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
'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 de Luis_P
1