If...Then...Else (Instrucción)

Visual Basic VBLR

If...Then...Else (Instrucción)

       

Ejecuta condicionalmente un grupo de instrucciones, dependiendo del valor de una expresión.

Sintaxis

If condición Then [instrucciones]-[Else instrucciones_else]

Puede utilizar la siguiente sintaxis en formato de bloque:

If condición Then [instrucciones]

[ElseIf condición-n Then
[instrucciones_elseif] ...

[Else
[instrucciones_else]]

End If

La sintaxis de la instrucción If...Then...Else consta de tres partes:

Parte Descripción
condición Requerido. Uno o más de los siguientes dos tipos de expresiones:
  Una expresión numérica o expresión de cadena que puede ser evaluada como True o False. Si condición es Null, condición se considera False.
  Una expresión del formulario TypeOf nombre_objeto Is tipo_objeto. El nombre_objeto es cualquier referencia al objeto y tipo_objeto es cualquier tipo de objeto válido. La expresión es True si nombre_objeto es del tipo de objeto especificado por tipo_objeto; en caso contrario es False.
instrucciones Opcional en formato de bloque; se requiere en formato de línea sencilla que no tenga una cláusula Else. Una o más instrucciones separadas por dos puntos ejecutados si la condición es True.
condición-n Opcional. Igual que condición.
instrucciones_elseif Opcional. Una o más instrucciones ejecutadas si la condición-n asociada es True.
instrucciones_else Opcional. Una o más instrucciones ejecutadas si ninguna de las expresiones anteriores condición o condición-n es True.

Comentarios

Puede utilizar la forma de una sola línea (Sintaxis 1) para pruebas cortas y sencillas. Sin embargo, el formato de bloque (Sintaxis 2) proporciona más estructura y flexibilidad que la forma de línea simple y, generalmente, es más fácil de leer, de mantener y de depurar.

Nota   Con la sintaxis es posible ejecutar múltiples instrucciones como resultado de una decisión If...Then, pero todas deben estar en la misma línea y separadas por dos puntos, como en la instrucción siguiente:

If A > 10 Then A = A + 1 : B = B + A : C = C + B

Una instrucción con formato de bloque If debe ser la primera de la línea. Las partes Else, ElseIf y End If, de la instrucción, solamente pueden ir precedidas de un número de línea o una etiqueta de línea. El bloque If debe terminar con una instrucción End If.

Para determinar si una instrucción If es un bloque, examine lo que sigue a la palabra clave Then. Si lo que aparece detrás de Then en la misma línea no es un comentario, la instrucción se considera como una instrucción If de una sola línea.

Las cláusulas Else y ElseIf son opcionales. Puede tener en un bloque ElseIf, tantas cláusulas If como desee, pero ninguna puede aparecer después de una cláusula Else. Las instrucciones de bloque If se pueden anidar; es decir, unas pueden contener a otras.

Cuando se ejecuta un bloque If (Sintaxis 2), se prueba condición. Si condición es True, se ejecutan las instrucciones que están a continuación de Then. Si condición es False, se evalúan una a una las condiciones ElseIf (si existen). Cuando se encuentra una condición True se ejecutan las instrucciones que siguen inmediatamente a la instrucción Then asociada. Si ninguna de las condiciones ElseIf es True (o si no hay cláusulas ElseIf), se ejecutan las instrucciones que siguen a Else. Después de la ejecución de las instrucciones que siguen a Then o Else, la ejecución continúa con la instrucción que sigue a End If.

Sugerencia   Select Case puede ser más útil cuando se evalúa una única expresión que tiene varias acciones posibles. Sin embargo, la cláusula TypeOf nombre_objeto Is tipo_objeto no se puede utilizar en una instrucción Select Case.

Nota   No se puede usar TypeOf con tipos de datos predefinidos como Long, Integer y así sucesivamente, excepto en el tipo de datos Object.