Cómo: Ejecutar instrucciones en función de una o varias condiciones
Actualización: noviembre 2007
Puede utilizar Instrucción If...Then...Else (Visual Basic) para ejecutar una instrucción específica o un bloque de instrucciones dependiendo del valor Boolean (Tipo de datos, Visual Basic) de una condición. Generalmente, la condición es el resultado de comparar dos valores, pero también puede ser cualquier expresión que da como resultado un valor Boolean (True o False). Esto incluye los valores de otros tipos de datos, como los numéricos, que han sido convertidos a valores de tipo Boolean.
Para ejecutar una o más instrucciones si una condición es verdadera
Si tiene sólo una instrucción para ejecutar, utilice la sintaxis de línea única de la construcción If...Then...Else. No necesita las instrucciones Else o End If Esto se ilustra en el siguiente ejemplo:
Sub fixDate() Dim myDate As Date = #2/13/1973# If myDate < Now Then myDate = Now End Sub
o bien
Para ejecutar más de una línea de código cuando la condición es True, se utiliza la sintaxis de varias líneas, que incluye la instrucción End If. Si no tiene ningún código para ejecutar cuando la condición es False, omita la instrucción Else. Esto se ilustra en el siguiente ejemplo:
Dim alertLabel As New System.Windows.Forms.Label Sub alertUser(ByVal value As Long) If value = 0 Then alertLabel.ForeColor = System.Drawing.Color.Red alertLabel.Font = New Font(alertLabel.Font, _ FontStyle.Bold Or FontStyle.Italic) End If End Sub
Para ejecutar algunas instrucciones si una condición es verdadera y otras si es falsa
Utilice la construcción If...Then...Else con la instrucción Else (Visual Basic) para definir dos bloques de instrucciones. Visual Basic ejecuta un bloque si la condición es True y el otro si es False. Esto se ilustra en el siguiente ejemplo:
Dim alertLabel As New System.Windows.Forms.Label Sub alertUser(ByVal value As Long) If value = 0 Then alertLabel.ForeColor = System.Drawing.Color.Red alertLabel.Font = New Font(alertLabel.Font, _ FontStyle.Bold Or FontStyle.Italic) Else alertLabel.Forecolor = System.Drawing.Color.Black alertLabel.Font = New Font(alertLabel.Font, _ FontStyle.Regular) End If End Sub
Para probar las condiciones adicionales si la primera condición es falsa
Utilice la construcción If...Then...Else con una o más instrucciones ElseIf (Visual Basic) para probar las condiciones adicionales si la primera condición es False. En el siguiente ejemplo, el procedimiento Function calcula una bonificación en la nómina basándose en el nivel de rendimiento. El bloque de instrucciones que sigue a la instrucción Else sólo se ejecuta si las condiciones de las instrucciones If y ElseIf son todas False.
Function bonus(ByVal performance As Integer, ByVal salary As Decimal) _ As Decimal If performance = 1 Then Return salary * 0.1 ElseIf performance = 2 Then Return salary * 0.09 ElseIf performance = 3 Then Return salary * 0.07 Else Return 0 End If End Function
Visual Basic prueba las condiciones en el orden en que aparecen en las instrucciones If...Then...Else. Si encuentra una condición True o una instrucción Else, ejecuta el bloque de instrucciones correspondiente. Después, el control pasa a la instrucción que sigue a la instrucción End If.
Puede existir un número arbitrario de instrucciones ElseIf o ninguna. Puede incluir u omitir una instrucción Else independientemente de que existan otras instrucciones ElseIf.
Vea también
Tareas
Cómo: Transferir el control fuera de una estructura de control
Cómo: Probar varios valores de una expresión
Cómo: Mantener el control cuando se produce un error
Conceptos
Estructuras de control adicionales
Estructuras de control anidadas