IF condicion1 AND condicion2 THEN

onubask
10 de Julio del 2008
Hola un cordial saludo.

Ejecuto un código IF condicion1 THEN y funciona perfectamente. Pero como deberia de escribirlo para que se cumplieran mas de una condicion?

He probado con IF condicion1 AND condicion2 AND condicion3 THEN pero de esta manera no me funciona. He probado colocando parentesis y introduciendo otras variablesque sustituyan a condicion1, condicion2 condicion3 y sigue sin funcionar.

Seriais tan amables de indicarme donde me estoy equivocando. Muchas gracias.
Un cordial saludo

Juan Emilio Estrada
10 de Julio del 2008
si pones mas de una condicion al tiempo solo funciona o se ejecuta lo que se encuentra dentro del bloque if, solo si se cumplen todas las condiciones, algo que debes tener presente es que Al momento de poner diferentes condiciones debes tener en cuenta que ninguna de ellas se contradigan entre si por ejemplo si dices

Sub Prueba()
If [a1] < 2 And [a1] > 5 Then
[a1] = [a1] + 1
End If
End Sub

eso nunca se cumplira dado que una variable no puede ser al mismo tiempo menor que dos y mayor que cinco.
la estructura que dices que usas esta bien, por ejemplo:
Sub Recordatorio()
Mes = "07"
Dia = "09"
Año = "2008"
If Mes = "07" And Dia = "09" And Año = "2008" Then
MsgBox "Carmen Cumple Hoy"
End If
End Sub

en esta rituna se cumplen las tres condiciones del bloque if por lo tanto el codigo del bloque se ejecutara, no se si te he respondido tu cuestion de todas maneras Envia el codigo para saber exactamente cual es el error.

Avellaneda
10 de Julio del 2008
Si quieres que se cumpla cualquiera de las tres condiciones, sustituye And por Or:

If condicion1 Or condicion2 Or condicion3 Then...