KutoolsforOffice — Una solución, cinco potentes herramientas.Lograr más con menos esfuerzo.Venta de marzo: 20 % de descuento

¿Cómo guardar y usar sus macros de VBA en todos los libros de Excel?

AutorZhoumandy Fecha de modificación

Existen muchas situaciones en las que podría necesitar utilizar la misma macro de VBA repetidamente en distintos libros de Excel para tareas como automatizar cálculos repetitivos, dar formato a datos o crear funciones personalizadas, por ejemplo, convertir números en palabras. Un problema habitual es que, de forma predeterminada, las macros se almacenan únicamente en el libro donde se crean, lo que impide acceder a ellas o reutilizarlas fácilmente en documentos nuevos. Sin embargo, Excel ofrece varios métodos flexibles para hacer que una macro de VBA esté disponible globalmente, eliminando la necesidad de volver a copiar el código cada vez que comience un nuevo libro de trabajo. Este tutorial proporciona instrucciones completas sobre distintos enfoques para garantizar que sus macros de VBA sean fácilmente accesibles en todos los libros, mejorando así su productividad y flujo de trabajo.

Una captura de pantalla que muestra el cuadro de diálogo Complementos en Excel

Guarde y utilice el código VBA en todos los libros
Método del libro de macros personales


Guarde y utilice el código VBA en todos los libros

Por ejemplo, imagine que quiere convertir números en sus equivalentes en palabras en inglés mediante un código VBA personalizado y asegurarse de que esta función esté siempre disponible, sin importar el libro en el que trabaje. Con el enfoque adecuado, puede guardar sus módulos VBA para reutilizarlos siempre que los necesite en Excel. Esto resulta especialmente útil para funciones personalizadas o automatizaciones que desee tener a mano en todo momento, sin tener que duplicar el código en varios archivos.

Para ello, puede empaquetar su código VBA como un complemento personalizado de Excel. Al activarlo en Excel, este complemento pondrá a disposición su funcionalidad personalizada como una función globalmente accesible.

Siga estos pasos:

1. Pulse Alt + F11 en Excel para abrir la ventana «Microsoft Visual Basic para Aplicaciones».

2. En el editor de VBA, haga clic en Insertar > Módulo y pegue la siguiente macro en la ventana del módulo recién creado.

Código VBA: Convertir Convertir a palabras

Function NumberstoWords(ByVal MyNumber)
'Update by ExtendofficeDim xStr As StringDim xFNum As IntegerDim xStrPointDim xStrNumberDim xPoint As StringDim xNumber As StringDim xP() As VariantDim xDPDim xCnt As IntegerDim xResult, xT As StringDim xLen As IntegerOn Error Resume NextxP = Array("", "Thousand ", "Million ", "Billion ", "Trillion ", " ", " ", " ", " ")
xNumber = Trim(Str(MyNumber))
xDP = InStr(xNumber, ".")
xPoint = ""
xStrNumber = ""
If xDP >0 ThenxPoint = " point "
xStr = Mid(xNumber, xDP +1)
xStrPoint = Left(xStr, Len(xNumber) - xDP)
For xFNum =1 To Len(xStrPoint)
xStr = Mid(xStrPoint, xFNum,1)
xPoint = xPoint & GetDigits(xStr) & " "
Next xFNumxNumber = Trim(Left(xNumber, xDP -1))
End IfxCnt =0xResult = ""
xT = ""
xLen =0xLen = Int(Len(Str(xNumber)) /3)
If (Len(Str(xNumber)) Mod3) =0 Then xLen = xLen -1Do While xNumber <> ""
If xLen = xCnt ThenxT = GetHundredsDigits(Right(xNumber,3), False)
ElseIf xCnt =0 ThenxT = GetHundredsDigits(Right(xNumber,3), True)
ElsexT = GetHundredsDigits(Right(xNumber,3), False)
End IfEnd IfIf xT <> "" ThenxResult = xT & xP(xCnt) & xResultEnd IfIf Len(xNumber) >3 ThenxNumber = Left(xNumber, Len(xNumber) -3)
ElsexNumber = ""
End IfxCnt = xCnt +1LoopxResult = xResult & xPointNumberstoWords = xResultEnd FunctionFunction GetHundredsDigits(xHDgt, xB As Boolean)
Dim xRStr As StringDim xStrNum As StringDim xStr As StringDim xI As IntegerDim xBB As BooleanxStrNum = xHDgtxRStr = ""
On Error Resume NextxBB = TrueIf Val(xStrNum) =0 Then Exit FunctionxStrNum = Right("000" & xStrNum,3)
xStr = Mid(xStrNum,1,1)
If xStr <> "0" ThenxRStr = GetDigits(Mid(xStrNum,1,1)) & "Hundred "
ElseIf xB ThenxRStr = "and "
xBB = FalseElsexRStr = " "
xBB = FalseEnd IfEnd IfIf Mid(xStrNum,2,2) <> "00" ThenxRStr = xRStr & GetTenDigits(Mid(xStrNum,2,2), xBB)
End IfGetHundredsDigits = xRStrEnd FunctionFunction GetTenDigits(xTDgt, xB As Boolean)
Dim xStr As StringDim xI As IntegerDim xArr_1() As VariantDim xArr_2() As VariantDim xT As BooleanxArr_1 = Array("Ten ", "Eleven ", "Twelve ", "Thirteen ", "Fourteen ", "Fifteen ", "Sixteen ", "Seventeen ", "Eighteen ", "Nineteen ")
xArr_2 = Array("", "", "Twenty ", "Thirty ", "Forty ", "Fifty ", "Sixty ", "Seventy ", "Eighty ", "Ninety ")
xStr = ""
xT = TrueOn Error Resume NextIf Val(Left(xTDgt,1)) =1 ThenxI = Val(Right(xTDgt,1))
If xB Then xStr = "and "
xStr = xStr & xArr_1(xI)
ElsexI = Val(Left(xTDgt,1))
If Val(Left(xTDgt,1)) >1 ThenIf xB Then xStr = "and "
xStr = xStr & xArr_2(Val(Left(xTDgt,1)))
xT = FalseEnd IfIf xStr = "" ThenIf xB ThenxStr = "and "
End IfEnd IfIf Right(xTDgt,1) <> "0" ThenxStr = xStr & GetDigits(Right(xTDgt,1))
End IfEnd IfGetTenDigits = xStrEnd FunctionFunction GetDigits(xDgt)
Dim xStr As StringDim xArr_1() As VariantxArr_1 = Array("Zero ", "One ", "Two ", "Three ", "Four ", "Five ", "Six ", "Seven ", "Eight ", "Nine ")
xStr = ""
On Error Resume NextxStr = xArr_1(Val(xDgt))
GetDigits = xStrEnd Function

3. Ahora, haga clic en el icono «Guardar» situado en la esquina superior izquierda de la ventana o simplemente pulse Ctrl + S para abrir el cuadro de diálogo «Guardar como».
Una captura de pantalla que muestra la opción Guardar en la ventana de VBA

4. En la ventana «Guardar como», introduzca el nombre que desee en el campo «Nombre de archivo». En el menú desplegable «Especificar formato de guardado», asegúrese de seleccionar Complemento de Excel (*.xlam).
Una captura de pantalla que muestra el cuadro de diálogo Guardar como con la selección de Complemento de Excel (*.xlam) como tipo de archivo

5. Haga clic en el botón «Guardar» para almacenar su libro como un archivo de complemento de Excel. Así creará un complemento reutilizable que podrá activar en cualquier momento y en cualquier libro.
Una captura de pantalla que muestra el libro guardado como un complemento de Excel

6. Una vez guardado, vuelva a Excel y cierre el libro que acaba de convertir en un complemento.

7. Abra un libro nuevo o existente en el que quiera usar su macro e introduzca la fórmula personalizada en la celda correspondiente (por ejemplo, en B2):

=NumberstoWords(A2)
Nota: En esta fase puede aparecer un error «#¿NOMBRE?». Esto es normal, ya que el complemento que contiene la función de macro aún no se ha cargado globalmente en Excel. Siga los pasos que se indican a continuación para habilitar su macro en todos los libros de trabajo.
Una captura de pantalla del error #¿NOMBRE? antes de aplicar la macro de VBA guardada

Vaya a la pestaña Programador y haga clic en el botón Complementos de Excel del grupo Complementos.
Una captura de pantalla que muestra la opción Complementos en la pestaña Programador de Excel

9. En el cuadro de diálogo Complementos que aparece, seleccione Examinar.
Una captura de pantalla del cuadro de diálogo Complementos en Excel

10. Localice y seleccione el archivo del complemento que guardó anteriormente y, a continuación, haga clic en Aceptar.
Una captura de pantalla que muestra la selección de un archivo de complemento personalizado en Excel

11. Su complemento personalizado, como «Complemento para convertir números en palabras», ya debería aparecer en la lista de complementos. Asegúrese de que esté marcado y haga clic en Aceptar para activarlo.
Una captura de pantalla que muestra el complemento personalizado en el cuadro de diálogo Complementos de Excel

12. Ahora, introduzca de nuevo la función personalizada en la celda de destino (por ejemplo, B2) y pulse Intro. Verá que la fórmula devuelve las palabras en inglés correctas para el número.

=NumberstoWords(A2)

13. Para aplicar rápidamente la fórmula de conversión a varios números, arrastre el controlador de autorrelleno de la celda hacia abajo y copie la función en otras celdas.

Una captura de pantalla que muestra el resultado final de los números convertidos a palabras

Consejos y notas:

  • Al guardar la macro como complemento, podrá usar las mismas funciones personalizadas, código o automatizaciones en todos sus libros, ahorrando tiempo y garantizando coherencia.
  • Si Excel está cerrado o el complemento se desactiva posteriormente, sus funciones pueden mostrar temporalmente «#¿NOMBRE?» hasta que el complemento se vuelva a cargar. Para evitar confusiones, asegúrese de mantenerlo siempre activado en el Administrador de complementos cuando lo necesite.
  • Algunos usuarios no ven la pestaña Programador activada por defecto. Para habilitarla, haz clic con el botón derecho en la Cinta de opciones, selecciona «Personalizar la Cinta de opciones» y marca la casilla «Programador».
  • Es una buena práctica guardar los complementos en una carpeta permanente para evitar referencias perdidas si los archivos se mueven o renombran.

Si prefiere ejecutar el código manualmente, también es posible y a veces útil al depurar o para usos puntuales:

  1. Puede asignar una macro a la Barra de acceso rápido para ejecutarla con un solo clic en cualquier libro abierto. Para hacerlo, haga clic con el botón derecho en la Barra de acceso rápido, seleccione «Personalizar la Barra de acceso rápido» y añada su macro.
    Una captura de pantalla que muestra cómo añadir la macro de VBA a la Barra de acceso rápido
  2. También puede pulsar Alt + F11 para abrir el editor de VBA, seleccionar manualmente su macro y pulsar F5 para ejecutar el código según sea necesario.

Ventajas: Esta solución te permite crear y compartir funcionalidades de macro potentes y reutilizables que siempre funcionan mientras el complemento esté activado.
Inconvenientes: Los usuarios deben recordar cargar el complemento y, si comparten libros, también tienen que compartir el archivo del complemento junto con los detalles de las funciones. Además, los complementos no son compatibles con Excel Online.


Método del libro de macros personales

Otra forma muy práctica de garantizar que sus macros favoritas o más utilizadas estén siempre disponibles en cada sesión de Excel, independientemente del libro que tenga abierto, es usar el libro de macros personales (PERSONAL.XLSB). Se trata de un archivo especial y oculto de Excel que se carga automáticamente al iniciar la aplicación, lo que permite acceder a cualquier macro almacenada en él desde todos los libros abiertos.

Escenarios de aplicación: Ideal para automatizaciones personales, scripts de formato rutinarios o funciones de utilidad que no necesite compartir como complementos formales de Excel. Las macros en PERSONAL.XLSB están disponibles en su equipo independientemente del archivo que tenga abierto.

Ventajas: Las macros están disponibles globalmente para tu perfil local de Excel y no requieren la instalación de complementos ni archivos adicionales.
Inconvenientes: Las macros almacenadas de esta forma solo se pueden usar en el equipo y la cuenta donde esté el archivo PERSONAL.XLSB. Compartirlas con otras personas exige exportar e importar los módulos manualmente.

  • Para utilizar este método, primero debe grabar o crear una macro y asegurarse de que se guarde en el libro de macros personales.

Siga estos pasos:

  1. Abra Excel. En la pestaña Vista, haga clic en Macros y luego en Grabar macro.
  2. En el cuadro de diálogo, bajo «Guardar macro en», seleccione Libro de macros personales. A continuación, complete la grabación (puede detenerla inmediatamente si no es necesario).
  3. Pulse Alt + F11 para acceder al editor de VBA, donde encontrará un proyecto denominado PERSONAL.XLSB. Allí, inserte un nuevo módulo o pegue el código de la macro deseada.
  4. Guarde los cambios. Excel crea y mantiene automáticamente el libro PERSONAL.XLSB en su carpeta de inicio.
  5. Las macros en PERSONAL.XLSB se pueden ejecutar desde el cuadro de diálogo Macros (Alt + F8), asignarlas a la Cinta de opciones o a botones de la barra de herramientas, o llamarlas desde VBA.

Resolución de problemas y mantenimiento: Si las macros del archivo PERSONAL.XLSB no están disponibles, compruebe si Excel se ha iniciado en modo seguro o si la configuración de seguridad de macros está establecida en «Deshabilitar todas las macros». Además, el archivo PERSONAL.XLSB está oculto de forma predeterminada; si lo cierra accidentalmente sin guardar o lo elimina, es posible que tenga que volver a grabar una macro para regenerarlo.

Consejo:Haga copias de seguridad periódicas de su archivo PERSONAL.XLSB. Puede encontrarlo en la carpeta de su perfil del sistema, habitualmente en:
C:\Users\[YourUserName]\AppData\Roaming\Microsoft\Excel\XLSTART\PERSONAL.XLSB

Otras operaciones (artículos)

Un código VBA para enumerar todos los complementos en Excel
En Excel, puedes agregar o insertar complementos para trabajar de forma más eficiente con tus datos. Sabemos que es posible verlos todos desde la ventana Opciones, pero ¿existe alguna manera de listarlos directamente en una hoja? En este tutorial te ofrecemos un código VBA que enumera todos los complementos en Excel.

¿Cómo ejecutar una macro VBA al abrir o cerrar un libro?
En este artículo te explicamos cómo ejecutar código VBA automáticamente cada vez que abras o cierres un libro.

¿Cómo proteger o bloquear el código VBA en Excel?
Al igual que puede usar una contraseña para proteger libros y hojas de cálculo, también puede establecer una contraseña para proteger las macros en Excel.

¿Cómo usar un retardo de tiempo tras ejecutar una macro VBA en Excel?
En algunos casos, es posible que necesites introducir un retardo temporizado antes de que una macro VBA en Excel surta efecto. Por ejemplo, al hacer clic para ejecutar una macro específica, esta se activará automáticamente tras 10 segundos. Este artículo te muestra cómo lograrlo.

Las mejores herramientas de productividad para Office

🤖KUTOOLS AI Asistente: Revolucione Análisis de datos basándose en:Ejecución Inteligente   |  Generar código|  Crear fórmulas personalizadas  |  Analizar datos y generar gráficos|  Invocar Funciones mejoradas
Funciones populares:Buscar, resaltar o Marcar duplicados   |  Eliminar filas en blanco   |  Combinar Columnas o celdas sin perder datos   |   Redondeo sin usar fórmulas...
Super BUSCARV:Búsqueda vertical (VLookup) con múltiples criterios  |  Búsqueda vertical (VLookup) con múltiples valores  |   Búsqueda vertical (VLookup) entre varias hojas   |   Coincidencia difusa....
Lista desplegable avanzada:Crear rápidamente una lista desplegable   |  Lista desplegable dependiente   |  Lista desplegable de selección múltiple....
Gestor de columnas:Añadir un número específico de columnas|Mover columnas|Alternar el estado de visibilidad de columnas ocultas|Comparar rangos y columnas...
Funciones destacadas:Cuadrícula de enfoque   |  Vista de diseño   |Barra de fórmulas mejorada   | Gestor de libros y hojas   |  Biblioteca de recursos(Texto automático)|  Selector de Fecha   |  Combinar Hojas de Cálculo  |  Cifrar/Descifrar celdas   | Enviar correos electrónicos desde una lista   |  Super Filtro   |   Filtro especial(Filtrar celdas con fuente en negrita/cursiva/tachado...) ...
Principales conjuntos de herramientas 15:12 Herramientasde texto(Agregar texto,Eliminar caracteres específicos, ...)|   50+Tiposde gráfico(Diagrama de Gantt, ...)|   40+ Fórmulas prácticas(Calcular la edad basada en la fecha de nacimiento, ...)|   19 Herramientasde inserción(Insertar Código QR,Insertar imagen desde ruta, ...)|   12 Herramientasde conversión(Convertir a palabras,Conversión de moneda, ...)|   7 Herramientasde combinación y división(Combinar filas avanzado,Dividir celdas, ...)|...y muchas más
Use Kutools en su idioma preferido: compatible con inglés, español, alemán, francés, chino y 40+ más idiomas.¡

Potencie sus habilidades en Excel con Kutools para Excel y experimente una eficiencia como nunca antes.Kutools para Excel ofrece más de 300 funciones avanzadas para aumentar su productividad y Ahorrar tiempo.Haga clic aquí para obtener la función que más necesita...


Office Tab aporta una interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil

  • Active la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
  • Abra y cree varios documentos en nuevas pestañas dentro de la misma ventana, en lugar de hacerlo en ventanas separadas.
  • ¡Aumente su productividad en un 50 % y elimine cientos de clics del ratón cada día!

Todos los complementos de Kutools en un solo instalador.

Kutools for Office es la suite que incluye complementos para Excel, Word, Outlook y PowerPoint, además de Office Tab Pro, ideal para equipos que trabajan en distintas aplicaciones de Office.

ExcelWordOutlookTabsPowerPoint
  • Suite integral— complementos para Excel, Word, Outlook y PowerPoint + Office Tab Pro
  • Un instalador, una licencia— configuración en minutos (compatible con MSI)
  • Rendimiento mejorado en conjunto— productividad optimizada en todas las aplicaciones de Office
  • Prueba gratuita de 30 días con todas las funciones— sin registro ni tarjeta de crédito
  • La mejor relación calidad-precio— ahorre frente a la compra individual de complementos