Escribir nuevas macros en el Editor de Visual Basic en Excel 2013

Rate this post

Después de tener la habilidad en el lenguaje VBA, puede escribir nuevas macros desde cero en el Editor de Visual Basic en lugar de simplemente editar las que ya ha grabado en su hoja de cálculo utilizando el grabador de macros de Excel. Al crear una macro desde cero en el Editor de Visual Basic, debe seguir estos pasos generales:

  • Si desea escribir una macro sólo para el libro de trabajo actual, haga clic en la función VBAProject que contiene su nombre de archivo entre paréntesis, como en VBAProject (Mi hoja de cálculo). Si desea escribir una macro global en el Libro de trabajo de macros personales, haga clic en VBAProject(PERSONAL.XLSB) en la ventana del Explorador de proyectos.
  • Elija Insert→Module en la barra de menú del Editor de Visual Basic. Excel responde abriendo una nueva ventana en blanco de Código en la ventana del Editor de Visual Basic y añadiendo otro icono de Módulo (llamado con el siguiente número disponible) en el esquema en la ventana del Explorador de Proyecto bajo el Proyecto VBA apropiado. Para ello, basta con teclear sub (para la subrutina).
  • Escriba sub y luego pulse la barra espaciadora. ahora, necesita nombrar su nueva macro, lo que hace nombrando su subrutina. Recuerde que al nombrar su nueva macro (o subrutina), usted sigue las mismas reglas que al nombrar un nombre de rango (comience con una letra y sin espacios).
  • Tan pronto como presione la tecla Enter, el Editor de Visual Basic inserta un par de paréntesis cerrados después del nombre de la macro, una línea en blanco y una declaración End Sub en su propia línea debajo de esa línea. A continuación, posiciona el punto de inserción al principio de la línea en blanco entre las líneas con las sentencias Sub y End Sub. Es aquí donde se introducen las líneas de código para la macro que se está escribiendo.
  • Introduzca las líneas de código VBA para la macro entre las sentencias Sub y End Sub. Antes de empezar a escribir las sentencias VBA que debe ejecutar su macro, primero debe documentar el propósito y el funcionamiento de esta macro. Para ello, escriba un apóstrofe (‘) al principio de cada línea de este texto para introducirlo como comentario. (Excel sabe que no debe intentar ejecutar ninguna línea de código precedida de un apóstrofe.) Cuando presiona la tecla Enter para iniciar una nueva línea que comienza con un apóstrofe, la línea de texto se vuelve verde, lo que indica que el Editor de Visual Basic considera que se trata de un comentario que no debe ejecutarse cuando se ejecuta la macro. Para sangrar las líneas de código para que sean más fáciles de leer, pulse Tab. Si necesita salir de la línea, presione Mayús+Tab. Cuando termine de escribir el código para su macro, deberá guardarlo antes de probarlo.
  • Elija File→Save en la barra de menú del Editor de Visual Basic o presione Ctrl+S.

Después de guardar la nueva macro, puede hacer clic en el botón Ver Microsoft Excel en la barra de herramientas Estándar para volver a la hoja de trabajo donde puede probarla. Para ejecutar la nueva macro que ha escrito, seleccione View→Macros en la cinta o presione Alt+F8 para abrir el cuadro de diálogo Macro y, a continuación, haga clic en el nombre de la macro que acaba de escribir antes de hacer clic en Aceptar.

Si Excel encuentra un error al ejecutar la macro, le devuelve al Editor de Visual Basic y aparece un cuadro de diálogo de Alerta de Microsoft Visual Basic, indicando (de forma muy críptica) la naturaleza del error. Haga clic en el botón Depurar de este cuadro de diálogo para que el Editor de Visual Basic resalte la línea de código que no puede ejecutar.

A continuación, puede intentar encontrar el error y editarlo en la línea de código. Si elimina la causa del error, el Editor de Visual Basic elimina el resaltado de esa línea de código, y luego puede hacer clic en el botón Continuar (que reemplaza automáticamente al botón Ejecutar cuando el Editor pasa al modo depuración) con el triángulo azul apuntando a la derecha en la barra de herramientas Estándar para continuar ejecutando la macro.

Reply