Sei sulla pagina 1di 4

Estructuras de Control VBA

En VBA al igual en que otros lenguajes de programación se encuentran disponibles las


principales estructuras de programación o estructuras de control en esta página
encontraremos algunos ejemplos de las principales estructuras de control disponibles para
la creación de nuestras macros.
Hemos visto en los diagramas de flujo o pseudo código que en estos:

 Piden datos de entrada(al usuario)-asignación de valores a las variables.


 Se hacen cálculos con los datos introducidos por el usuario, guardando el resultado
deseado en una variable- asignacion.
 Devolver al usuario los resultados almacenados en variables- en pantalla- en sentencia
print.

La programación top-down(paradigma estructural)- serie que se ejecuta una tras otra.

El flujo de ejecución del programa es estrictamente secuencial.


No obstante a esta linealidad, es posible alterar este flujo de ejecución de ordenes
para conseguir:
 Tomar decisiones a partir de datos intermedios y en función de estas ejecuten ciertas
sentencias y otras no.
 Tomen decisiones a partir de datos intermedios y en función de estas ejecuten ciertas
sentencias más de una vez.
 El primer tipo de alteración se efectúa con Sentencias condicionales o de selección.
 El segundo tipo con sentencias iterativas o de repetición.
 Las sentencias que permiten alterar el flujo de ejecución se engloban en las
denominadas estructuras de control de flujo → estructuras de control.

Sentencias condicionales:

Conociendo los datos de entrada y el resultado

que hemos de calcular (datos de salida), ¿Cómo calcular la salida a partir de la entrada?

En el ejemplo: basta con despejar x de la ecuación: x se obtiene calculando −b/a.

Pasos:

 Pediremos el valor de a y el valor de b (que supondremos de tipo flotante).


 Calcularemos el valor de x como −b/a.
 Mostraremos por pantalla el valor de x.

Nuestro procedimiento presenta un punto débil: cuando a vale 0, se produce un error de


división b/0=? → NAN, INF, sistema colgado, etc.

En la medida de lo posible se debe tratar de evitar los errores en tiempo de ejecución, ya que:

 Detienen la ejecución del programa y muestran mensajes de error poco comprensibles


para el usuario.
En el ejemplo, se deberá detectar si a vale cero para, en ese caso, no continuar con la
ejecución del cálculo, para prevenir un error de ejecución la sentencia condicional o de
selección quiere decir:

Al llegar a este punto, ejecuta esta(s) acción(es) sólo si esta(s) condición(es) es (son) cierta(s)
Este es el condicional IF (Si)

Sentencia condicional IF

if a != 0

x = -b/a

print , Solución: `, x

Introducimos a=0, b=1, no pasará nada, no ocurre error, pero el procedimiento no producirá
salida.

Evaluación con cortocircuitos:

La evaluación de expresiones lógicas es algo especial. Observa la condición de este IF :

 if a == 0 or 1/a > 1:
 ¿Puede provocar una división por cero?
 NO

Do Loop Until( hacer Bucle )


Esta estructura de control se puede usar para ejecutar un bloque de instrucciones un
número indefinido de veces. Las instrucciones se repiten hasta que una condición llegue a
ser Verdad.
Do White Loop ( que hacer mientras estas en bucle)
En este caso, las instrucciones se repiten mientras una condición sea Verdad (al contrario que
con el Do Loop Until “hacer bucle”).

While Wend
El bucle WHILE…WEND sirve para realizar un tipo de bucle muy utilizado en programación que
es el bucle Mientras, que se ejecuta mientras que se cumpla una condición.

For To Next
El bucle FOR NEXT nos permite repetir una acción un número de veces dado.

Ejemplo:
En este ejemplo tenemos el bucle FOR NEXT en VBA más sencillo. El bucle cuenta de 1 a 10 y
va poniendo en una columna el valor del contador.
With
La estructura With en Vba nos permite ejecutar un conjunto de instrucciones sin tener que
volver a hacer referencia al mismo objeto.

Potrebbero piacerti anche