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

Esta definición fue extraída de la ayuda de Microsoft Excel 2003, idónea para ver el uso de la instrucción :   

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.


Ejemplo de la instrucción If...Then...Else

Este ejemplo muestra los dos posibles usos de If...Then...Else como bloque y en una única línea. También muestra el uso de If TypeOf...Then...Else.
Dim Número, Dígitos, MiCadena
Número = 53        ' Inicializa variable.
If Número < 10 Then
    Dígitos = 1
ElseIf Número < 100 Then
' La condición es True, por lo que se ejecuta la siguiente 
instrucción.
    Dígitos = 2
Else
    Dígitos = 3
End If
    
' Asigna un valor con la sintaxis de una línea.
If Dígitos = 1 Then MiCadena = "Una" Else MiCadena = "Más de una" 
Puede utilizar If TypeOf para determinar si el control que se pasa a un procedimiento es
un cuadro de texto.
Sub ControlProcessor(MiControl As Control)
    If TypeOf MiControl Is CommandButton Then
        Debug.Print "Ha pasado un " & TypeName(MiControl)
    ElseIf TypeOf MiControl Is CheckBox Then
        Debug.Print "Ha pasado un " & TypeName(MiControl)
    ElseIf TypeOf MiControl Is TextBox Then
        Debug.Print "Ha pasado un " & TypeName(MiControl)
    End If
End Sub

No hay comentarios:

Publicar un comentario

x

Bienvenido(s)

Este es el Blog de Daivinson Coffi

En este blog encontrarás la manera de comenzar a desarrollar tus propias aplicaciones en Visual Basic 6.0, así como su sintaxis y algunos videos que podrán ayudarte en el maravilloso mundo de la programación.
Visualizar éste blog con Mozilla Firefox, Google Chrome u otro navegador, a excepción de Internet Explorer versión 9 o posterior, para poder visualizar el Blog Este mensaje es gracias a http://ayuda-bloggers.blogspot.com.