Comprobar formulario a través de texbox

Tengo un formulario compuesto de 5 textbox, mi necesidad es la de poder comprobar lo siguiente y que salte un msgbox:

1caso.

Si textbox1 = a la suma de textbox2, 3,4 y 5 (call xxx)

Si textbox1> o < a la suma de textbox2, 3,4 y 5 (call yyy)

Si textbox1 o 2 están vacios (call zzz)

Ojo los textbox2, 3,4 y 5 no siempre tiene contenido, y los 3,4 y 5 suelen estar ocultos.

Gracias de antemano, lo he intentado de mil maneras pero siempre me falla por algún lado.

Respuesta
1

Te anexo la macro:

Private Sub CommandButton1_Click()
'Por.Dante Amor
    If TextBox1 = "" Or TextBox2 = "" Then
        Call zzz
        TextBox1.SetFocus
        Exit Sub
    End If
    '
    If TextBox1 > 0 Then
        wsuma = Val(TextBox2) + Val(TextBox3) + Val(TextBox4) + Val(TextBox5)
        If Val(TextBox1) < wsuma Then
            Call yyy
            TextBox1.SetFocus
            Exit Sub
        ElseIf Val(TextBox1) = wsuma Then
            Call xxx
        Else
            Call www
        End If
    End If
End Sub
Sub zzz()
    MsgBox "Falta dato en el textbox1 o textbox2"
End Sub
Sub yyy()
    MsgBox "Textbox1 es menor a la suma"
End Sub
Sub xxx()
    MsgBox "Textbox1 y la suma son iguales"
End Sub
Sub www()
    MsgBox "Textbox1 es mayor a la suma"
End Sub

En las consideraciones que pusiste, te falta poner qué se debe hacer cuando el textbox1 es mayor a la suma.

También te falta poner cuando el textbox1 es igual 0, o cuando el textbox1 es menor a 0. Te anexo la macro con esas consideraciones.

Private Sub CommandButton1_Click()
'Por.Dante Amor
    If TextBox1 = "" Or TextBox2 = "" Then
        Call zzz
        TextBox1.SetFocus
        Exit Sub
    End If
    '
    If TextBox1 > 0 Then
        wsuma = Val(TextBox2) + Val(TextBox3) + Val(TextBox4) + Val(TextBox5)
        If Val(TextBox1) < wsuma Then
            Call yyy
            TextBox1.SetFocus
            Exit Sub
        ElseIf Val(TextBox1) = wsuma Then
            Call xxx
        Else
            Call www
        End If
    ElseIf TextBox1 = 0 Then
        MsgBox "El textbox1 es igual a 0"
    Else
        MsgBox "El textbos1 es menor a 0"
    End If
End Sub
Sub zzz()
    MsgBox "Falta dato en el textbox1 o textbox2"
End Sub
Sub yyy()
    MsgBox "Textbox1 es menor a la suma"
End Sub
Sub xxx()
    MsgBox "Textbox1 y la suma son iguales"
End Sub
Sub www()
    MsgBox "Textbox1 es mayor a la suma"
End Sub

Saludos.Dante Amor

Recuerda valorar la respuesta.

¡Gracias! 

Excelente, no puse todas las variables porque con esas tres ya estoy servido, pero las dejo por si en un futuro las tengo que añadir.

Repito muchas gracias.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas