Cómo crear una macro o script VBA en Excel

Cómo crear una macro o script VBA en Excel

Microsoft Excel permite a los usuarios automatizar características y comandos utilizando Macros y Visual Basic para Scripting de aplicaciones (VBA). VBA es el lenguaje de programación que Excel usa 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 hace repetidamente, como la contabilidad, la gestión de proyectos o la nómina, la automatización de estos procesos puede ahorrar mucho tiempo.

Tabla de contenido
    • Pon un tic en la casilla al lado de Desarrollador.
    • Clickea en el Desarrollador pestaña del Cinta menú.
    • A continuación, haga clic en Seguridad macro y marque la casilla al lado de Habilitar todas las macros (no recomendadas; puede ejecutarse el código potencialmente peligroso).
    • Luego haga clic DE ACUERDO.

    La razón por la que las macros no están activadas de forma predeterminada y se advierte es que son código de computadora que podrían contener malware.

    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 haya terminado de usar sus scripts y macros, deshabilite todas las macros para evitar que el código potencialmente malicioso infecte otros documentos.

    Crear una macro en Excel

    Se agregan todas las acciones que toma en Excel mientras se le registra una macro.

    • Desde la pestaña Desarrollador, haga clic en Registrar macro.
    • Entrar a Nombre macro, a Tecla de acceso directo, y un Descripción. Los nombres de macro deben comenzar con una carta y no pueden tener ningún espacio. La tecla de acceso directo debe ser una carta.

    Decida dónde desea almacenar la macro de las siguientes opciones:

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

    Cuando termine, haga clic DE ACUERDO.

    • Ejecute las acciones que desea automatizar. Cuando haya terminado, haga clic Para de grabar.
    • 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 decide que todas las hojas de cálculo deben usar un formato diferente, como poner el primer y apellido en columnas separadas.

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

    Grabe la macro

    • Haga clic en Registrar macro. Vamos a llamarlo Format_customer_data y hacer clic DE ACUERDO.
    • Para obtener el formato que queremos, cambiaremos el nombre de la primera columna a Nombre de pila.
    • Luego inserte una columna al lado de A y llámelo Apellido.
    • Resalte todos los nombres en la primera columna (que aún incluye el primer y apellido), y haga clic en Datos de la navegación de la cinta.
    • Haga clic en Texto a columnas.
    • Garrapata Delimitado > Próximo > Separado por el espacio > Próximo > Finalizar. Vea la captura de pantalla a continuación y cómo se separaron el primer y los apellidos por el proceso anterior.
    • Para formatear el campo de la vencimiento del saldo, resalte las cantidades. Haga clic en Hogar > Formato condicional > Resaltar las reglas celulares > Mas grande que > 0.

    Esto resaltará las celdas que tienen un equilibrio debido. Agregamos a algunos clientes sin saldo debido a que ilustraron más el formato.

    • Volver a Desarrollador y hacer clic Para de grabar.

    Aplicar la macro

    Comencemos con la hoja de cálculo original antes de grabar la macro para formatearla correctamente. Haga clic en Macros, seleccionar y Correr la macro que acabas de crear.

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

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

    Aprenda más sobre VBA

    Para aprender sobre VBA, haga clic en Macro desde el Desarrollador pestaña. Encuentra uno que haya creado y haga clic Editar.

    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 las hojas de cálculo de pago de otros clientes de la misma manera.

    Crea un botón para comenzar con VBA

    Usando la misma hoja de cálculo de arriba 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.
    • Seleccionar Botón de comando activo desde el menú desplegable al lado de Insertar en el Control S sección.
    • Arrastre el botón en 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 con el botón derecho en el botón y seleccione Propiedades. Mantendremos el Nombre como Botón de comando y el Subtítulo a Convertir (este es el texto del botón).

    Agregar código para dar la funcionalidad del botón

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

    • Ve a la Desarrollador pestaña y asegúrese Modo de diseño está activo.
    • Para acceder al código del botón que acabamos de crear, haga clic con el botón derecho y seleccione Ver código.
    • Mirando el código en la captura de pantalla a continuación, observe el comienzo (Submarino) y punto (Final) del código ya está ahí.
    • El siguiente código impulsará el procedimiento de conversión de divisas.

    Célula activa.Valor = (activecell * 1.28)

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

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

    • Ir a Archivo en la navegación superior y Haga clic en Cerrar y regrese a Microsoft Excel Para 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 modificaciones adicionales y dar la funcionalidad del botón.

    • Escriba cualquier número en su hoja de cálculo y luego haga clic en el Convertir botó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 Convertir, El número cambió a 5.12. Desde 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.