Cómo crear una macro o secuencia de comandos de VBA en Excel

Microsoft Excel permite a los usuarios automatizar funciones y comandos mediante macros y secuencias de comandos de Visual Basic para Aplicaciones(Applications) ( VBA ). VBA es el lenguaje de programación que(VBA is the programming language Excel) utiliza Excel para crear macros. También ejecutará comandos automatizados basados ​​en condiciones específicas.

Las macros son una serie de comandos pregrabados. Se ejecutan automáticamente cuando se da un comando específico. Si tiene tareas en Microsoft Excel que realiza repetidamente, como contabilidad, gestión de proyectos o nómina, la automatización de estos procesos puede ahorrarle mucho tiempo.

En la pestaña Desarrollador de la (Developer)cinta(Ribbon) de opciones de Excel , los usuarios pueden registrar los clics del mouse y las pulsaciones de teclas (macros). Sin embargo, algunas funciones requieren secuencias de comandos más detalladas que las que pueden proporcionar las macros. Aquí es donde las secuencias de comandos de VBA se convierten en un gran beneficio. (VBA)Permite a los usuarios crear scripts más complejos.

En este artículo, explicaremos lo siguiente:

  • Habilitación de scripts y macros
  • Cómo crear una macro en Excel
  • Ejemplo específico de una macro
  • Más información sobre VBA
  • Cree un botón(Button) para comenzar con VBA
  • Agregar código(Add Code) para dar funcionalidad al botón(Button Functionality)
  • ¿Funcionó?

Habilitación de scripts y macros(Enabling Scripts & Macros)

Antes de que pueda crear macros o secuencias de comandos VBA en (VBA)Excel , debe habilitar la pestaña Desarrollador(Developer ) en el menú Cinta . (Ribbon)La pestaña Desarrollador(Developer) no está habilitada de forma predeterminada. Para habilitarlo:

  • Abra una hoja de cálculo de Excel.
  • Haga clic en Archivo(File ) > Opciones( Options ) > Personalizar cinta.( Customize Ribbon.)

  • Ponga una marca en la casilla junto a Desarrollador(Developer) .

  • Haga clic en la pestaña Desarrollador(Developer) del menú Cinta .(Ribbon)

  • A continuación, haga clic en Seguridad de macros(Macro Security) y marque la casilla junto a Habilitar todas las macros (no recomendado; se puede ejecutar código potencialmente peligroso). (Enable all macros (not recommended; potentially dangerous code can run). )
  • Luego haga clic en Aceptar.( OK.)

La razón por la que las macros no están activadas de forma predeterminada y vienen con una advertencia es que son códigos de computadora que podrían contener malware.

Asegúrese(Make) de que el documento sea de una fuente confiable si está trabajando en un proyecto compartido en Excel y otros programas de Microsoft .

Cuando termine de usar sus secuencias de comandos y macros, deshabilite todas las macros para evitar que código potencialmente malicioso infecte otros documentos.

Crear una macro en Excel(Create a Macro in Excel)

Todas las acciones que realiza en Excel mientras graba una macro se le agregan. 

  • En la pestaña Desarrollador, haga clic en Grabar macro(Record Macro) .

  • Introduzca un nombre de macro(Macro name) , una tecla(Shortcut key) de acceso directo y una descripción. (Description. )Los nombres de las macros(Macro) deben comenzar con una letra y no pueden tener espacios. La tecla de acceso directo debe ser una letra.

Decide dónde quieres almacenar la macro entre las siguientes opciones:

  • Libro de macros personal(Personal Macro Workbook) : Esto creará un documento de Excel oculto con macros almacenadas para ser utilizado con cualquier documento de Excel .
  • Nuevo libro(New Workbook) de trabajo : creará un nuevo documento de Excel para almacenar las macros creadas.
  • Este libro(This Workbook) de trabajo : esto solo se aplicará al documento que está editando actualmente.

Cuando haya terminado, haga clic en Aceptar(OK)

  • Ejecute(Run) las acciones que desea automatizar. Cuando haya terminado, haga clic en Detener grabación(Stop Recording)
  • Cuando desee acceder a su macro, use el atajo de teclado que le dio.

Ejemplo específico de una macro(Specific Example Of a Macro)

Comencemos con una hoja de cálculo simple para los clientes y cuánto deben. Comenzaremos creando una macro para formatear la hoja de trabajo.

Supongamos que decide que todas las hojas de cálculo deben usar un formato diferente, como poner el nombre y el apellido en columnas separadas. 

Puede cambiar esto manualmente. O puede crear un programa usando una macro para formatearlo automáticamente correctamente para usted.

Grabar la macro(Record The Macro)

  • Haga clic en Grabar macro(Record Macro) . Llamémoslo Format_Customer_Data y haga clic en Aceptar(OK)
  • Para obtener el formato que queremos, cambiaremos el nombre de la primera columna a First Name
  • Luego inserte una columna al lado de A y llámela Apellido(Last Name)
  • Resalte(Highlight) todos los nombres en la primera columna (que aún incluyen el nombre y el apellido) y haga clic en Datos(Data) en la barra de navegación.
  • Haga clic en Texto a columnas(Text to Columns) .

  • Marque Delimitado(Delimited) > Siguiente(Next ) > Separar por espacio(Separate by Space) > Siguiente(Next ) > Finalizar(Finish) . Vea la captura de pantalla a continuación y cómo se separaron el nombre y el apellido mediante el proceso anterior.

  • Para dar formato al campo Saldo adeudado(Balance Due) , resalte los importes. Haga clic(Click) en Inicio(Home ) > Formato condicional(Conditional Formatting) > Resaltar reglas de celdas(Highlight Cell Rules) > Mayor que(Greater Than ) > 0 .

Esto resaltará las celdas que tienen un saldo adeudado. Agregamos algunos clientes sin saldo para ilustrar mejor el formato.  

  • Vuelva a Desarrollador(Developer ) y haga clic en Detener grabación(Stop Recording) .

Aplicar la macro(Apply The Macro)

Comencemos con la hoja de cálculo original antes de grabar la macro para formatearla correctamente. Haga clic(Click) en Macros , seleccione y ejecute(Run) la macro que acaba de crear.

Cuando ejecuta una macro, todo el formato se hace por usted. Esta macro que acabamos de crear se almacena en el Editor de Visual Basic(Visual Basic Editor) .

Los usuarios pueden ejecutar macros de varias maneras diferentes. Lea Ejecutar una macro(Run a macro) para obtener más información.  

Más información sobre VBA(Learn More About VBA)

Para obtener información sobre VBA, haga clic en Macro en la pestaña Desarrollador . (Developer)Busque uno que haya creado y haga clic en Editar.(Edit.)

El código que ve en el cuadro de arriba es lo que se creó cuando grabó su macro. 

También es lo que ejecutará cuando desee formatear otras hojas de cálculo de pagos de clientes de la misma manera.

Cree un botón para comenzar con VBA(Create a Button To Get Started With VBA)

Usando la misma hoja de cálculo anterior con los clientes y cuánto deben, creemos un convertidor de divisas.

  • Para insertar un elemento de botón, vaya a la pestaña  Desarrollador .(Developer )
  • Seleccione Botón de comando ActiveX(ActiveX Command Button ) en el menú desplegable junto a Insertar(Insert) en la sección Controles (Controls).

  • Arrastra(Drag) el botón a cualquier parte de la hoja de cálculo para que puedas acceder fácilmente y cambiarlo más tarde si lo deseas.

  • Para adjuntar el código, haga clic derecho en el botón y seleccione Propiedades(Properties) . Mantendremos el Nombre(Name) como CommandButton y el Caption to Convert (este es el texto del botón).

Agregar código para dar funcionalidad al botón(Add Code To Give The Button Functionality)

La codificación de VBA(VBA) no tiene lugar en la interfaz de Excel . Se realiza en un ambiente separado.  

  • Vaya a la pestaña Desarrollador y asegúrese de que el (Developer)Modo de diseño(Design Mode) esté activo.

  • Para acceder al código del botón que acabamos de crear, haga clic derecho sobre él y seleccione Ver código(View Code) .

  • Mirando el código en la captura de pantalla a continuación, observe que el principio ( Private Sub ) y el final ( End Sub ) del código ya están allí.

  • El siguiente código impulsará el procedimiento de conversión de moneda.

ActiveCell.Value = (ActiveCell * 1.28)

Nuestro propósito en esta sección es convertir la moneda en nuestra hoja de cálculo. El guión anterior refleja el tipo de cambio de GBP a USD . El nuevo valor de una celda será el que hay actualmente multiplicado por 1,28.

La siguiente captura de pantalla muestra cómo se ve el código en la ventana de VBA después de insertarlo.

  • Vaya a Archivo(File ) en la navegación superior y haga clic en Cerrar y volver a Microsoft Excel(click on Close and Return to Microsoft Excel) para volver a la interfaz principal de Excel .

¿Funcionó?(Did It Work?)

Antes de que pueda probar su código, primero debe deshabilitar el modo de diseño(Design Mode) (haga clic en él) para evitar más modificaciones y dar funcionalidad al botón.

  • Escriba(Type) cualquier número en su hoja de cálculo y luego haga clic en el botón Convertir(Convert) . Si el valor de su número aumenta en aproximadamente una cuarta parte, funcionó.

Para este ejemplo, puse el número 4 en una celda. Después de hacer clic en Convertir(Convert) , el número cambió a 5.12. Como 4 por 1,28 es 5,12, el código se realizó correctamente.

Ahora que sabe cómo crear una macro o un script en Excel , puede usarlos para automatizar una multitud de acciones en Excel .



About the author

Soy ingeniero telefónico con más de 10 años de experiencia en la industria móvil y me especializo en la reparación y actualización de teléfonos inteligentes. Mi trabajo ha incluido el desarrollo y mantenimiento del firmware del teléfono, el desarrollo de imágenes para dispositivos Apple y el trabajo en proyectos de Firefox OS. Con mis habilidades en desarrollo de software, ingeniería de hardware, procesamiento de imágenes y desarrollo de Firefox OS, tengo la capacidad de tomar problemas complejos y convertirlos en soluciones simples que funcionan en cualquier dispositivo.



Related posts