Ir al contenido principal

Seminario Macros Excel Gratuito 12+1ª Entrega (Estructuras de programación o control 1ª parte)

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:

  • Condicionales
  • With
  • Bucles
En esta primera entrega solo veremos la parte de Condicionales.

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

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

Entradas populares de este blog

Chrome: desactivar la opción “Abrir siempre archivos de este tipo”

En Chrome, al descargar un archivo aparecen tres opciones en el desplegable de la barra de descargas:

Combinar Correspondencia con varias cuentas en Outlook

A veces necesitamos realizar un mailing (Combinar correspondencia) y disponemos de varias cuentas de correo en nuestro Outlook. Comprobamos que no funciona el elegir una de ellas como predeterminada ya que para el envío por correspondencia usa un servicio llamado MAPI que no usa la cuenta predeterminada.  Antiguamente en versiones como la 2010 de office simplemente con cambiar el fichero de datos predeterminado de la cuenta bastaba para ello. Actualmente (nosotros usamos 365, equivalente a la 2016) la solución pasa por crear un perfil de correo en el que configuremos la cuenta que usaremos para combinar correspondencia. Adjuntamos un video en el que se explica en Windows 10 como crear un perfil de correo de una cuenta. Una vez creado ese perfil de Correo pasaríamos a realizar la combinación de Correspondencia y en el último paso cuando  realizamos la combinación de correspondencia nos solicitará el perfil a usar para poder enviar los correos y en ese caso elegiríamos el perfil...

Uso del Dolar ($) en Excel

Es uno de los grandes desconocidos de los usuarios de Excel incluso algunos que llevan usando esta herramienta durante un largo periodo de Tiempo. La idea de su uso es evitar que al copiar un fórmula la referencia a una determinad celda cambie. Veamos un ejemplo: Tenemos 6 columnas y en la D una fórmula que multiplica el precio por la cantidad de un producto, si copiamos dicha fórmula se va adaptando a los diferentes productos y hasta aquí todo ok. Pero que pasa si queremos hacer la fórmula del IVA, es decir el 21% del importe bruto. Lo que suele hacer la mayoría de los usuarios que no conocen el uso del $ es hacer la siguiente fórmula en E2: =D2*21% Esto incumple la primera norma de creación de fórmulas que dice: En una fórmula nunca se deben incluir valores constantes salvo que se sepa que nunca van a poder cambiar y el iva es algo que puede y de echo ha variado a lo largo del tiempo. Por lo tanto si queremos hacer una hoja más versátil deberemos colocar el porcentaje de iva en una c...