Anidar dos o mas funciones If

Tengo esta instrucción.

Private Sub BtnRecibos_Click()
If IsNull(Me.IdGto) Then
MsgBox "No hay Gasto creado para ver Recibo", vbInformation, "Información"
Else

End If
If IsNull(Me.Archivo1) Then
MsgBox "El recibo solicitado" & vbCrLf & vbCrLf & " Id Nº - " & IdImpuestos & "" & vbCrLf & " Nombre - " & Me.Gasto & vbCrLf & vbCrLf & " No esta registrado.", vbInformation, "Información"

Else

If Nz(Me.TxtPdf_Factura, "") = "" Then
Exit Sub
ElseIf Right(Me.TxtPdf_Factura, 3) = "pdf" Then
Application.FollowHyperlink Me.TxtPdf_Factura
Else
MsgBox "La Ruta Factura está incompleta o mal Informada", vbCritical, "RUTA INADECUADA"

End If
End Sub

Lo que quisiera es que si el primer If se cumple cierre el combo sin hacer nada y si no se cumple que pase a la segunda.

2 respuestas

Respuesta
2

Carlos: Simplemente sal del Procedimiento con >> Exit Sub, después del mensaje, o sea.

MsgBox "No hay Gasto creado para ver Recibo", vbInformation, "Información" ' Esta ya la tienes

Exit Sub

Mis saludos >> Jacinto

¿Donde esta mal?

Carlos: Pues que el Visual lleva razón, te falta un End If

Cada bloque If, tenga los ElseIf intermedios que tenga, debe cerrarse con un End If

En tu caso debe ir después de MsgBox "La Ruta...

Mis saludos >> Jacinto

Respuesta
2

Te envié solo el enlace por error, y como funciona tan bien últimamente esta web, no me dejaba ampliar la respuesta...

Te quería añadir que en la ayuda de microsoft lo tienes bien explicado (con uso de If Then ElseIf.. Then .. incluído), y que te acostumbres a usarla, porque saca de muchos apuros...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas