Cómo crear una macro o script 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 (VBA). VBA es el lenguaje de programación Excel utiliza para crear macros. También ejecutará comandos automáticos 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óminas, la automatización de estos procesos puede ahorrarle mucho tiempo.

Debajo de la pestaña Desarrolladoren la Cintaen Excel , los usuarios pueden grabar los clics del mouse y las pulsaciones de teclas (macros). Sin embargo, algunas funciones requieren secuencias de comandos más detalladas de las que pueden proporcionar las macros. Aquí es donde las secuencias de comandos VBA se convierten en un gran beneficio. 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
  • Obtenga más información sobre VBA
  • Cree un botón para comenzar a usar VBA
  • Agregar Código para darle funcionalidad al botón
  • ¿Funcionó?
  • Habilitación de scripts y macros

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

    • Abra una hoja de cálculo de Excel.
    • Haga clic en Archivo>Opciones>Personalizar Cinta de opciones.
      • Marque la casilla junto a Developer.
        • Haga clic en la pestaña Desarrolladordel menú Cinta.
          • A continuación, haga clic en Macro Securityy marque la casilla junto a Habilitar todas las macros (no recomendado; se puede ejecutar un código potencialmente peligroso).
          • Luego haga clic en Aceptar.
          • 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 pueden contener malware.

            In_content_1 all: [300x250] / dfp: [640x360]->

            Asegúrese 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 scripts y macros, desactive todos macros para evitar que un código potencialmente malicioso infecte otros documentos.

            Crear una macro en Excel

            Se le agregan todas las acciones que realiza en Excel mientras graba una macro.

            • En la pestaña Desarrollador, haga clic en Grabar macro.
              • Ingrese un Nombre de macro, una tecla de acceso directoy una Descripción.Los nombres de macro deben comenzar con una letra y no pueden tener espacios. La tecla de acceso directo debe ser una letra.
              • Decida dónde desea almacenar la macro entre las siguientes opciones:

                • Libro de trabajo de macro personal: esto creará un documento Excel oculto con macros almacenadas para usar con cualquier documento Excel.
                • Nuevo libro de trabajo: creará un nuevo documento Excel para almacenar las macros creadas.
                • Este libro de trabajo: Esto solo se aplicará al documento que está editando actualmente.
                • Cuando termine, haga clic en Aceptar .

                  • Ejecute las acciones que desea automatizar. Cuando haya terminado, haga clic en Detener grabación.
                  • Cuando desee acceder a su macro, use el atajo de teclado que le dio.
                  • Ejemplo específico de una 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 usted 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.

                    Grabar la macro

                    • Haga clic en Grabar Macro. Vamos a llamarlo Format_Customer_Datay haga clic en Aceptar.
                    • Para obtener el formato que queremos, cambiaremos el nombre de la primera columna a Nombre.
                    • Luego inserte una columna junto a A y llámela Apellido.
                    • Resalte todos los nombres en la primera columna (que todavía incluyen el nombre y el apellido) y haga clic en Datosen la barra de navegación.
                    • Haga clic en Texto a columnas.
                      • Marque Delimitado>Siguiente>Separar por espacio>Siguiente>Finalizar. Vea la captura de pantalla a continuación y cómo se separaron los nombres y apellidos mediante el proceso anterior.
                        • Para formatear el campo Saldo adeudado, resalte los importes. Haga clic en Inicio>Formato condicional>Resaltar reglas de celda>Mayor que>0.
                        • Esto resaltará las celdas que tienen un equilibrio debido. Agregamos algunos clientes sin saldo debido a que ilustramos más el formato.

                          • Vuelva a Desarrolladory haga clic en Detener grabación.
                          • Aplicar la macro

                            Vamos a comience con la hoja de cálculo original antes de grabar la macro para formatearla correctamente. Haga clic en Macros, seleccione y Ejecutarla macro que acaba de crear.

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

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

                            Obtenga más información sobre VBA

                            Para obtener información sobre VBA, haga clic en Macrodel Desarrollador lengüeta. Encuentre uno que haya creado y haga clic en Editar.

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

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

                            Cree un botón para comenzar a usar 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, navegue hasta el Desarrollador pestaña.
                            • Seleccione Botón de comando ActiveXdel menú desplegable junto a Insertaren la sección Controles.
                              • Arrastre el botón a cualquier lugar de la hoja de cálculo para que pueda acceder fácilmente y cambiarlo más tarde si lo desea.
                                • Para adjuntar el código, haga clic derecho en el botón y seleccione Propiedades. Mantendremos el Nombrecomo CommandButtony el Títuloen Convertir(este es el texto del botón).
                                • Agregue código para proporcionar la funcionalidad del botón

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

                                  • Vaya a la pestaña Desarrolladory asegúrese de que el Modo de diseñoesté activo.
                                    • Para acceder al código del botón que acabamos de crear, haga clic derecho sobre él y seleccione Ver código.
                                      • Mirando el código en la captura de pantalla a continuación, observe el comienzo (Private Sub) y el final (End Sub) del código ya está 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. La secuencia de comandos anterior refleja el tipo de cambio de GBP a USD. El nuevo valor de una celda será lo que hay actualmente multiplicado por 1.28.

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

                                        • Ir a Archivoen la navegación superior y haga clic en Cerrar y volver a Microsoft Excelpara volver a la interfaz principal de Excel.
                                        • ¿Funcionó?

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

                                          • Escriba cualquier número en su hoja de cálculo y luego haga clic en Convertirbotón. Si el valor de su número aumenta en aproximadamente un cuarto, funcionó.
                                          • Para este ejemplo, puse el número 4 en una celda. Después de hacer clic en Convertir, el número cambió a 5.12. Como 4 veces 1.28 es 5.12, el código se realizó correctamente.

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

                                            Use VB script to run Excel macro

                                            Artículos Relacionados:


                                            13.12.2019