¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
  1. Libros
  2. Macros y lenguaje VBA
  3. Ejecutar un programa y reglas de escritura
Extrait - Macros y lenguaje VBA Descubra la programación en Excel (nueva edición)
Extractos del libro
Macros y lenguaje VBA Descubra la programación en Excel (nueva edición) Volver a la página de compra del libro

Ejecutar un programa y reglas de escritura

Objetivos del capítulo

Una vez que haya utilizado con éxito la grabadora de macros y haya creado su primer programa, es el momento de ejecutarlo.

Este capítulo le permitirá aprender las diferentes formas de ejecutar un programa.

Aprenderá algunas reglas de escritura que le aconsejamos encarecidamente que respete.

También verá las primeras herramientas de depuración.

Ejecutar un programa desde la cinta de opciones

Ya ha visto en el capítulo La grabadora de macros cómo ejecutar una macro previamente grabada desde Excel. Pero esta no es la única forma que se puede utilizar para ejecutar un programa.

Ejecutar un programa desde VBE

Hay varias formas de ejecutar un programa cuando se está en el entorno de programación VBE. Dependiendo de su desenvoltura o de sus hábitos, puede utilizar la que más le convenga.

Usar la barra de herramientas

 Para iniciar un programa, la primera solución es situar el cursor dentro de la macro que desea ejecutar, es decir, entre las etiquetas Sub y End Sub que definen los límites de la macro.

 Haga clic en el botón Ejecutar Sub/UserForm (F5) de la barra de herramientas.

images/cap04_img_01.png

El programa se ejecuta.

Usar un método abreviado de teclado

Si prefiere utilizar el teclado, también puede ejecutar su macro desde este.

 Coloque el cursor dentro de la macro que desea ejecutar y pulse la tecla F5, que tiene la misma función que el botón Ejecutar Sub/UserForm (F5) de la barra de herramientas.

Usar la ventana Inmediato

Si desea ejecutar una función o procedimiento que requiera parámetros, las dos primeras soluciones no funcionarán, ya que el programa necesita recibir esta información para poder ejecutarse. Pasar por la ventana Inmediato es la solución adecuada.

Ejecutar un procedimiento o una macro

 Si desea ejecutar una macro o procedimiento, introduzca el nombre en la ventana Inmediato y confirme pulsando Intro.

Macro1 

Ejemplo 1: llamada a una macro por su nombre en la ventana Inmediato

images/cap04_img_02.png

 Si su procedimiento necesita...

Modo paso a paso

Cuando se ejecuta una macro, todas las instrucciones se leen de una sola vez hasta llegar al final del programa.

Como desarrollador, puede desplazarse por el código en modo paso a paso, para que las instrucciones se ejecuten una tras otra.

Aquí, se trata de que usted pueda ver el progreso de su programa línea por línea.

 Pulse la tecla F8 en lugar de F5; el programa se iniciará con la primera línea ejecutable.

La línea se resalta en amarillo y aparece un cursor en forma de flecha en la franja gris, a la izquierda de la línea de código.

images/cap04_img_08.png

Esta línea resaltada será la siguiente línea que ejecutará el programa. Solo tiene que volver a pulsar la tecla F8 para pasar a la próxima línea. Las líneas comentadas no se leen y el programa pasará a la siguiente línea ejecutable automáticamente.

 También puede hacer que el resto del programa se ejecute de nuevo hasta el final, pulsando la tecla F5.

Puntos de interrupción

Hasta ahora ha visto las dos formas de ejecutar un programa: de una sola vez, con la tecla F5, y en modo paso a paso con F8.

También se puede hacer pasar el código hasta una línea específica.

Para conseguirlo, puede utilizar lo que se conoce como puntos de interrupción.

 Para añadir puntos de interrupción en una o varias líneas de su programa, haga clic en la parte derecha del código donde debe insertarse el punto de interrupción y, a continuación, pulse la tecla F9 o haga clic directamente en la franja gris situada a la izquierda de su línea de código.

También puede hacer clic en la herramienta Alternar punto de interrupción (F9).

images/cap04_img_09.png

Aparecerá un punto de color granate:

images/cap04_img_10.png

La presencia de un punto de interrupción actúa de forma tal que el programa se iniciará desde la primera instrucción y, cuando tenga que ejecutar la línea identificada con un punto de interrupción como su siguiente línea, el programa se detendrá, dejándole el campo libre para realizar sus comprobaciones:

images/cap04_img_11.png

 Para eliminar un punto de interrupción, después de mover el cursor a la línea en cuestión, pulse la tecla F9, haga clic en la herramienta Alternar punto de interrupción (F9) o haga clic directamente en el punto granate.

 Usted puede desactivar todos los puntos...

Reglas de escritura de un programa

Programación imperativa

El lenguaje VBA sigue una lógica imperativa, es decir, las líneas se ejecutan una tras otra, según su orden de aparición en el programa. Si una instrucción no se ejecuta, la siguiente tampoco lo hará.

Respetar una sangría

Cuando escriba un programa, este será leído por el ordenador, pero, para el ser humano que usted es, la lectura y relectura de su código son primordiales. Así, cuando las instrucciones están englobadas por otras, por ejemplo, con estructuras condicionales o bucles, que aprenderá en este libro, las instrucciones incluidas deben tener sangría, es decir, estar separadas por tabuladores de la instrucción que las engloba.

He aquí un ejemplo de un programa que no tiene sangría:

Sub MalEjemplo() 
Dim i As Integer 
For i = 1 To 5 
If I Mod 2 =0 Then 
MsgBox i 
End If 
Next i 
End Sub 

Ejemplo 6: usar un código sin sangría

El hecho de sangrar un código significa simplemente hacerlo más legible, así:

Sub MalEjemplo() 
   Dim i As Integer 
   For i = 1 To 5 
       If i Mod 2 =0 Then 
           MsgBox i 
      End If 
   Next...

Para lo que resta de este libro

Para que pueda beneficiarse de los ejemplos de código que se ofrecen a lo largo de este libro, se recomienda que copie las instrucciones que se le presentarán y las ejecute en la forma que usted prefiera.