Referencia del Lenguaje Visual Basic
If…Then…Else (Instrucciones)
Ejecuta de forma condicional un grupo de instrucciones, dependiendo del valor de una expresión.
If condition [ Then ]
[ statements ]
[ ElseIf elseifcondition [ Then ]
[ elseifstatements ] ]
[ Else
[ elsestatements ] ]
End If
O bien
If condition Then [ statements ] [ Else elsestatements ]
condition
Requerido. es una expresion que debe evaluarse como True o False, o como un tipo de datos que sea implícitamente convertible a Boolean.
statements
Opcional en formato de múltiples líneas; se requiere en formato de una sola línea que no tenga una cláusula Else. Se ejecutan una o más instrucciones que siguen a If…Then si condition es True.
elseifcondition
Requerido si está presente ElseIf. Igual que condition.
elseifstatements
Opcional. Se ejecutan una o más instrucciones que siguen a ElseIf…Then si la elseifcondition asociada es True.
elsestatements
Opcional en formato de múltiples líneas; se requiere en formato de una sola línea que tenga una cláusula Else. Una o más instrucciones que se ejecuten si ninguna de las expresiones anteriores condition o elseifcondition es True.
End If
Termina un bloque If…Then.
Comentarios
Puede utilizar la forma de una sola línea para pruebas cortas y sencillas. Sin embargo, el formato de múltiples líneas proporciona más estructura y flexibilidad que el formato de una sola línea y, generalmente, es más fácil de leer, mantener y depurar.
Con el formato de una sola línea, es posible ejecutar varias instrucciones como resultado de una decisión If…Then. Todas las instrucciones deben estar en la misma línea y separadas por dos puntos, como en el ejemplo siguiente:
If A > 10 Then A = A + 1 : B = B + A : C = C + B
En el formato de múltiples líneas, la instrucción If debe ser la única instrucción en la primera línea.
Las instrucciones Else, ElseIf y End If pueden ir precedidas solamente por una etiqueta de línea.
La instrucción If…Then…Else de varias líneas debe finalizar con una instrucción End If.
Para determinar si una instrucción If introduce un formato de múltiples líneas, examine lo que sigue a la palabra clave Then. Si aparece cualquier otra cosa que no sea un comentario después de Then en la misma instrucción, ésta se trata como una instrucción If de una sola línea. Si Then no está definida, debe ser el comienzo de una instrucción If…Then…Else de múltiples líneas.
Las cláusulas ElseIf y Else son opcionales. Puede tener tantas cláusulas ElseIf como desee en una instrucción If…Then…Else de múltiples líneas, pero no puede aparecer ninguna después de una cláusula Else.
Los formatos de múltiples líneas pueden anidarse unos dentro de otros.
Cuando se encuentra una If…Then…Else de múltiples líneas, se prueba condition. Si condition es True, se ejecutan las instrucciones que están a continuación de Then. Si condition es False, se evalúa cada instrucción ElseIf en orden. Cuando se encuentra una elseifcondition True, se ejecutan las instrucciones que siguen inmediatamente a la instrucción Then asociada. Si
ninguna elseifcondition se evalúa como True, o no existen instrucciones ElseIf, se ejecutan las instrucciones que siguen a Else.
Después de la ejecución de las instrucciones que siguen a Then, ElseIf 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 varios valores posibles.
Ejemplo:
En este ejemplo se muestran los formatos de múltiples líneas y de una sola línea de la instrucción If…Then…Else.
-
Dim Number, Digits As Integer
-
Dim MyString As String
-
Number = 53 'Initialize variable.
-
If Number <10 Then
-
Digits = 1
-
ElseIf Number <100 Then ' la condición evalua a verdadero entonces la instruccion es ejecutada.
-
Digits = 2
-
Else
-
Digits = 3
-
End If
-
-
'Asignamos el valor usando una simple linea.
-
-
If Digits = 1 Then MyString = "Uno" Else MyString = "Mas que uno"
-
-
'Puede utilizar la palabra clave TypeOf para determinar si el
-
'objeto Control que se pasa a un procedimiento es un cuadro de texto.
-
-
Sub ControlProcessor(ByVal MyControl As Control)
-
If TypeOf MyControl Is ComboBox Then
-
Debug.WriteLine ("You passed in a " & TypeName(MyControl))
-
ElseIf TypeOf MyControl Is CheckBox Then
-
Debug.WriteLine ("You passed in a " & TypeName(MyControl))
-
ElseIf TypeOf MyControl Is TextBox Then
-
Debug.WriteLine ("You passed in a " & TypeName(MyControl))
-
End If
-
End Sub


quisiera saber x q los codigos son grandes para mas q en la pantalla salen pueños
quisiera sabebr mas acerca de las funciones de estas intrucciones como: If…., Private, End sub, etc…..gracias
poe que ustedes no tienen la sentencia imput
hola
solo
espoero k encuentren lo megor
del
mundo…
a..
y muchas grasias por escucharme
pues
mis megores deseos
besos…..
jajajajajajaja
gracias…