Las estructuras de programación sirven para controlar la ejecución del programa. Son estructuras que aparecen en todos los lenguajes de programación y su funcionamiento será parecido.
Las podemos dividir en:
Las podemos dividir en:
- Condicionales
- With
- Bucles
Condiciones
Cuando hay que tomar una decisión que tiene diferentes respuestas usaremos esta estructura, podemos hacer evaluaciones de tipo texto o cadena e incluso de tipo numérico o fechas.
Dentro de este tipo de estructuras nos encontramos:
- If..Then
- If..Then..Else
- IIF
- Select Case
Estructura if ...Then
Mostramos el siguiente esquema gráfico:
Como vemos esta estructura cambia el flujo del programa si se cumple o no la condición mediante una bifurcación.
La forma de escribirla aunque ya la hemos visto en algún ejemplo anterior es la siguiente:
If pregunta Then
instrucciones a realizar
End If
Solo se realizan las instrucciones si se cumple dicha pregunta.
La pregunta puede ser cualquier comparación y también una expresión de tipo numérico que nos devuelva un valor concreto en el que el interprete de VBA devolverá verdadero o falso (True o False). Las instrucciones se ejecutarán solo si se cumple la pregunta y en caso contrario las ignora y sigue el programa.
Estructura if..Then... Else
El aspecto visual será el siguiente:
Como vemos en este caso aparecen dos caminos con instrucciones diferenciadas y una vez que se realicen sigue el flujo de nuestro programa.
La forma de escribirla aunque ya la hemos visto en algún ejemplo anterior es la siguiente:
If pregunta Then
instrucciones a realizar si se cumple la pregunta
Else
nuevas instrucciones si no se cumple
End If
Estructura if..Then... ElseIf
Esta forma es una variante de la anterior y se usa cuando hay que evaluar mas de una condición y no queremos anidar muchos if's se parece a otra estructura llamada Select Case
La forma de escribirla será:
if pregunta Then
instrucciones a realizar
ElseIf pregunta2 Then
otras instrucciones
ElseIf pregunta3 Then
mas instrucciones
…….
…….
Else
instrucciones si no se cumple ninguna de las anteriores
si no se quiere usar Else se puede hacer
End If
No hemos usado un gráfico ya que lo liaríamos bastante
Se van evaluando cada if de arriba a abajo y en cuanto una se cumpla no sigue evaluando el resto aunque pudieran cumplirse.
Estructuras if..Then...anidadas
Cuando dentro de un if en base a una respuesta metemos otro if a esto lo llamamos anidación y se usa cuando tenemos que construir decisiones que se basen en otras.
if pregunta Then
instrucciones de pregunta
if pregunta1 Then
instrucciones que se hacen si pregunta1 pero dentro de pregunta
End if
Else
instrucciones si no se cumple pregunta
End if
El ejemplo anterior muestra como la pregunta1 solo se ejecuta si se cumple la pregunta incluso podría haber colocado otro if dentro de pregunta1 y aasí hasta el infinito y mas allá o explote nuestro Brain
Estructuras Select Case
El poner if's anidados suele complicar mucho el seguimiento del código y para ello existe la estructura Select Case.
El aspecto sería el siguiente:
Select Case expresión
Case Valor1
Instrucción_1
Instrucción_2
……
Case Valor2
Instrucción_1
Instrucción_2
……
Case Valor3
Instrucción_1
Instrucción_2
……
……
Case Else
Instrucción_1
Instrucción_2
……
End Select
Case Valor1
Instrucción_1
Instrucción_2
……
Case Valor2
Instrucción_1
Instrucción_2
……
Case Valor3
Instrucción_1
Instrucción_2
……
……
Case Else
Instrucción_1
Instrucción_2
……
End Select
Solo se evalúa la expresión al principio y dependiendo del valor devuelto obtenemos el case correspondiente o el Case Else si no se cumple ninguno.
Seguimos con mas estructuras en la próxima Entrega....
Comentarios
Publicar un comentario