Crear una macro para todos los libros Excel (Libro de macros personal)

Compatibilidad: Excel 365 2021 2019 2016

Si necesitas tener una macro disponible para cualquier libro, te proponemos crear una macro para todos los libros Excel (Libro de macros personal).

Crear una macro para todos los libros Excel (Libro de macros personal)

Una macro de Excel se puede almacenar en el libro activo o en el libro de macros personal:

- LIBRO ACTIVO. La macro se almacena en el libro y solo se puede ejecutar al abrir el libro.

- LIBRO DE MACROS PERSONAL. La macro se almacena en Excel para que se pueda ejecutar sobre cualquier libro abierto.

  • GRABAR MACRO

  1. Abrir un libro de Microsoft Excel.

  2. Ir a: Cinta de Opciones / Pestaña: Programador o Desarrollador (según la versión Excel) / Grupo: Código / Grabar macro . Mostrará cuadro de diálogo de grabar macro. 

    Si no está visible:

    a. Ir a: Cinta de opciones / Pestaña: Archivo / Opciones. Mostrará la ventana de opciones de Excel.

    b. Ir a: Pestaña: Archivo / Opciones. Mostrará la ventana de opciones de Excel.

    c. Clic sobre: Personalizar cinta de opciones. Mostrará las opciones de personalizar la cinta.

    d. Ir a: Fichas principales / Activar la casilla Programador (Desarrollador en Excel 2013). Para mostrar la ficha en la cinta de opciones.

    Cuadro de dialogo grabar macro de Excel, opción libro de macros personales
  3. Ir a: Nombre de la macro / Escribir: MiMacro. O el nombre deseado para la macro.

  4. Ir a: Guardar macro / Seleccionar: Libro de macros personal. Tipo deseado donde guardar la macro (para cualquier libro de Excel).

  5. Pulsar el botón Aceptar. Cierra la ventana y comienza la grabadora de macros.

  6. Ir a: Cinta de Opciones / Pestaña: Programador o Desarrollador (según la versión Excel) / Grupo: Código / Detener grabación. Detendrá la grabación de la macro.

  7. Pulsar el atajo de teclado Alt + F11. Mostrará el editor de Visual Basic.

    Ventana de Visual Basic mostrando el panel de proyecto
  8. Ir al panel de proyectos / Doble clic sobre VBAProject (PERSONAL.XLSB). Libro personal de Excel. Si el panel no está visible Ir a: Barra de menú / Ver / Explorador de proyectos. Mostrará la ventana donde escribimos la macro.

    Panel de proyecto VBAProject (PERSONAL.XLSB) Módulo1 de Excel
  9. Localizar la rama Módulos / Doble clic para expandir Módulo1.

  10. Doble clic sobre Módulo1.

  11. Ir al Panel de macros / Localizar:

    Sub Mi Macro()

    '
    ' MiMacro Macro
    '

    '

    End Sub

  12. Escribir el código deseado de la macro, por ejemplo:

    Sub MiMacro()

    Selection.Font.Bold = True

    With Selection.Font

    .Color = -16776961

    .TintAndShade = 0

    End With

    End Sub

    - La macro aplica negrita y color rojo a la celda activa o rango.

  • EJECUTAR MACRO

  1. Ir a: Cinta de Opciones / Pestaña: Programador o Desarrollador (según la versión Excel) / Grupo: Código / Macros; O también, Atajo de teclado Alt + F8. Mostrará cuadro de diálogo de macro.

    Ventana Macro, mostrando las macros personales.xlsb
  2. Ir a: Macros en / Seleccionar: PERSONAL.XLSB

  3. Ir a: Nombre de la macro / Clic sobre la macro creada.

  4. Pulsar el botón Ejecutar. Reproducirá la macro.

Para reproducir la macro se podrá insertar una acceso directo en la barra de acceso rápido o en la cinta de opciones.

Nivel de dificultad: Experto VBA-Macros Excel Experto VBA - Macros

29 comentarios en “Crear una macro para todos los libros Excel (Libro de macros personal)

  • Buenas tardes.
    ¿Es posible tener una macro que siempre este disponible?, es decir, que aunque no este abiero el libro personal.xlsb pueda hacer uso de la macro.

    Muchas gracias.

  • necesito hacer una macro para crear varias pestañas en mi libro de excel pero no puedo guardarlo para que cuando quiera abrir otro libro me respeta la macro y la pueda utilizar en cualquier libro de excel

    • Hola Carmen,

      Las macros se pueden guardar en "libro de macros personal" disponible para cualquier libro Excel, o "En este libro", disponibles solo para el libro activo.

      Al iniciar la grabadora de macro nos permite seleccionar la opción deseada.

      Saludos.

  • Hola buenas noches tengo un libro con 12 hojas que almacenan información de los meses del año, esos datos tengo que filtrarlos y hacer una tabla dinámica, posteriormente graficarlos, pare ello grabe una macro y la asigne a un botón, pero en cada hoja hago la macro, hay alguna forma para poder ejecutar la macro en cualquier hoja

  • Hola,

    ¿Es posible crear una macro donde extraiga archivos de un excel, pero antes de eso te pregunte de que archivo se desea sacar esa información?

    Por ejemplo, cree una macro para que me extraiga cierta información de un excel, pero luego necesito extraer de las mismas columnas y filas información de otro excel, pero tengo que cambiarle el nombre al archivo para que me lo extraiga.

    ¿Este comando es posible?

  • Buenas noches, le tengo una pregunta, necesito una macro limitada a un archivo excel y que al momento de abril otro archivo no se siga ejecutando. Es decir tengo un reloj en un archivo excel...pero abro otro archivo y el reloj aparece en ese nuevo archivo (se sigue ejecutando la macro del primer archivo)

    Sub Hora()

    Range("b8").Formula = ("=now()") 'sirve para ingresar la funcion ahora en excel
    Application.OnTime Now + TimeValue("00:00:01"), "hora" 'sirve para decirle a la macro que se ejecute cada 1 segundo.
    End Sub

  • Espero puedas ayudarme, van varias veces que me ocurre, guardo una macro en el libro de macros personal y a los pocos días desaparece, se borra automáticamente o no se que pasa, sabrás porque ocurre esto? y como se puede solucionar? Gracias de antemano

  • cuando abro la ventana de proyectos únicamente me aparece VBAProjet (libro 1) como restablezco los otros elementos de la ventana que se han desaparecido

  • Buenos días:
    Tengo una macro creada sobre "personal.xlsb". Mi problema es que, al llamarla desde otro libro Excel, el resultado de los cálculos se me presenta en una hoja del libro "personal.xlsb" y no en la hoja del libro con el que estoy trabajando.
    ¿A qué puede ser debido?
    Gracias de antemano

    • Hola Guillermo,

      La macro que dispones inserta los datos sobre el libro personal que es como está definido en el código. Tendrías que modificarlo para insertarlo donde desees.

      Saludos.

  • Muchas gracias:
    He cambiado "hoja1.cells (x,y)".por "ActiveSheet.Cells(x,y) y problema resuelto!.
    Gracias por la rapidez en la respuesta!!!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.