No permitir ninguna cuadro de texto vacío

Tengo este userform que me ingresa datos en una tabla, pero necesito que todos los textbox y combobox estén completo para poder ingresarlo a la tabla, y necesito que no permita aceptar hasta que todos este completos.

¿Qué cambios debo hacer?

3 respuestas

Respuesta
1

Ejemplos:

Private Sub CommandButton1_Click()
    '
    'Validaciones de textbox
    If TextBox1.Value = "" Then
        MsgBox "Falta el dato1"
        TextBox1.SetFocus
        Exit Sub
    End If
    If TextBox2.Value = "" Then
        MsgBox "Falta el dato2"
        TextBox2.SetFocus
        Exit Sub
    End If
    If TextBox3.Value = "" Then
        MsgBox "Falta el dato3"
        TextBox3.SetFocus
        Exit Sub
    End If
    '
    'Validaciones de combos
    If ComboBox1.Value = "" Then
        MsgBox "Falta el combo1"
        ComboBox1.SetFocus
        Exit Sub
    End If
    If ComboBox2.Value = "" Then
        MsgBox "Falta el combo2"
        ComboBox2.SetFocus
        Exit Sub
    End If
    'Guardar en la hoja
    Set h = Sheets("BASE DATOS")
    u = h.Range("A" & Rows.Count).End(xlUp).Row + 1
    h.Range("C" & u).Value = TextBox1.Value
    h.Range("A" & u).Value = TextBox3.Value
    h.Range("B" & u).Value = TextBox2.Value
    '
    'continuar con los textbox
    '
    '
    'Acá los combos
    h.Range("H" & u).Value = ComboBox1.Value
    h.Range("I" & u).Value = ComboBox2.Value
    '
    'Limpiar controles
    TextBox1.Value = ""
    TextBox2.Value = ""
    TextBox3.Value = ""
    '
    ComboBox1.Value = ""
    ComboBox2.Value = ""
    '
    TextBox1.SetFocus
    MsgBox "Registro creado", vbInformation, "CREAR"
End Sub

sal u dos

Respuesta
1

Quizá te puede servir "recorrer" todos los "TextBox" y si alguno está vacío pues que te salga un mensaje. Prueba así antes de que se envíe los valores a tus celdas:

Dim Objeto  As Control
For Each Objeto In Me.Controls
    If TypeOf Objeto Is MSForms.TextBox Then
        If Objeto = "" Then
            MsgBox "Falta completar datos, no deje campos vacíos"
            Exit Sub
        End If
    End If
Next Objeto

Lo otro sería un "If" por cada "TextBox"

Comentas

Abraham Valencia

Respuesta
1

Antes vaciar los datos a la hoja pon

If textbox1 ="" anda textbox2="" then

Msgbox "ingrese los datos obligatorios"

Exit sub

End if

Agregar para el resto

Y para combobox has el mismo proceso

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas