Porque se activa solo el primer MsgBox

Tengo el siguiente código.

Los if se activan cuando le doy click a un commandbutton que tengo en un UserForm, lo que sucede es que si se cumple el segundo if que tiene msgbox, el msgbox que se muestra es el de la primera condición, ¿por qué pasa esto?

peso196733 = Worksheets("Control de Inventario").Range("H13").Value
peso191131 = Worksheets("Control de Inventario").Range("H61").Value
'Bandeja Ice Twister
If Worksheets("Inventario de Materia Prima").Range("C17") < (TextBox3.Value * peso196733) Then
     MsgBox ("No hay suficiente cantidad de resina HDPE para producir " _
         & TextBox3.Value & " unidades " & " de " & TextBox2.Value & _
             ". POR FAVOR REVISE LA CANTIDAD DE ENTRADA."), vbOKOnly + vbCritical, "RESINA HDPE INSUFICIENTE"
Exit Sub
End If
If ComboBox1.Value = "MQ196733" Then
Worksheets("Inventario de Materia Prima").Range("C17") = Val(Worksheets("Inventario de Materia Prima").Range("C17")) _
- (TextBox3.Value * peso196733)
End If
'Tornillo Nivelador
 If Worksheets("Inventario de Materia Prima").Range("C17") < (TextBox3.Value * peso191131) Then
     MsgBox "No hay suficiente cantidad de resina PVC para producir " _
             & TextBox3.Value & " unidades " & " de " & TextBox2.Value & _
                 ". POR FAVOR REVISE LA CANTIDAD DE ENTRADA.", vbOKOnly + vbCritical, "RESINA INSUFICIENTE"
Exit Sub
End If
If ComboBox1.Value = "MQ191131" Then
Worksheets("Inventario de Materia Prima").Range("C17") = Val(Worksheets("Inventario de Materia Prima").Range("C17")) _
- (TextBox3.Value * peso191131)

1 respuesta

Respuesta
1

La verificación del tipo de producto se debe hacer al principio para decidir si se ejecuta el código de la bandeja ice twister o el del tornillo nivelador.

Select Case combobox1.Value
Case "MQ196733"
    'Bandeja Ice Twister
    peso196733 = Worksheets("Control de Inventario").Range("H13").Value
    If Worksheets("Inventario de Materia Prima").Range("C17") < (TextBox3.Value * peso196733) Then
        MsgBox ("No hay suficiente cantidad de resina HDPE para producir " _
        & TextBox3.Value & " unidades " & " de " & TextBox2.Value & _
        ". POR FAVOR REVISE LA CANTIDAD DE ENTRADA."), vbOKOnly + vbCritical, "RESINA HDPE INSUFICIENTE"
        Exit Sub
    End If
    Worksheets("Inventario de Materia Prima").Range("C17") = Val(Worksheets("Inventario de Materia Prima").Range("C17")) _
    - (TextBox3.Value * peso196733)
Case "MQ191131"
    'Tornillo Nivelador
    peso191131 = Worksheets("Control de Inventario").Range("H61").Value
    If Worksheets("Inventario de Materia Prima").Range("C17") < (TextBox3.Value * peso191131) Then
        MsgBox "No hay suficiente cantidad de resina PVC para producir " _
        & TextBox3.Value & " unidades " & " de " & TextBox2.Value & _
        ". POR FAVOR REVISE LA CANTIDAD DE ENTRADA.", vbOKOnly + vbCritical, "RESINA INSUFICIENTE"
        Exit Sub
    End If
    Worksheets("Inventario de Materia Prima").Range("C17") = Val(Worksheets("Inventario de Materia Prima").Range("C17")) _
    - (TextBox3.Value * peso191131)
End Select

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas