Tomando Decisiones en VBA, Parte II

En el articulo anterior habíamos tratado sobre los operadores relacionales y los operadores lógicos, los cuales nos permiten construir expresiones. Estas expresiones en conjunción con los comandos para tomar decisiones nos permiten cambiar el flujo del programa en base a si estas expresiones se cumplen.  Existen varias estructuras que pueden ser utilizadas, la mayoría de ellas comienzan con el comando If.

decision-3

If-Then – [End If]

Esta declaración permite evaluar una condición y si se cumple ejecutar una acción. No especifica una acción si no se cumple la condición evaluada. Existen dos variantes de esta estructura:

  • If – Then en una sola línea. No se utiliza el End If.
  • If – Then – End If multi línea.

If- Then en una sola línea

Si la declaración que sigue al comando Then es corta, puede ser colocada inmediatamente en la misma línea, y se omite el comando End If.

If Expresión Then Declaración

Por ejemplo:

El siguiente procedimiento solicita un número y en una línea evalúa si el número ingresado es mayor que 5 y en el caso de ser verdadero entonces aparece un mensaje indicando “Número mayor de 5”.

Public Sub Decision2()
Numero = InputBox(“Indique un numero”, “Selecciónar un Número”, “5”)
If Numero > 5 Then MsgBox “Número mayor de 5”

End Sub

 

decision-2

If – Then – End If multi línea

Si luego del comando Then se requiere un procedimiento mas largo, entonces las declaraciones se escriben en líneas adicionales y finaliza el procedimiento con End If.

La sintaxis de esta estructura es la que se muestra a continuación:

If Expresión Then

Declaración

Declaración

Declaracion……

End If

En el siguiente ejemplo hay una variable con nombre marca, y existe una instrucción que evalúa una condición, si la variable marca es mayor de 50. En caso de que la variable marca cumple con la condición, entonces la instrucción Then produce la aparición de una caja de mensaje (msgbox) con un comentario “Superó la marca”, que indica que se superó la meta. Si no se cumple la condición el procedimiento sub no ejecuta ninguna acción y finaliza.

Public Sub Decision1()

marca = 70

If marca > 50 Then
    MsgBox “Superó la marca”
End If

End Sub

Cuando ejecutamos el procedimiento sub aparece el siguiente mensaje.

decision-1_thumb1

 

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s