Su pensión en Colpensiones. Calcule la que tendría hoy o planee la que quiere tener. Conózcalo aquí

Cómo guardar un libro de Excel con macros y macros para guardarlo

Un libro de Excel que contiene macros debe guardarse como «Libro de Excel habilitado para macros», con extensión .xlsm; si se guarda como .xlsx, Excel elimina las macros. Además, con VBA se puede guardar el libro desde una macro, guardar una copia en otra carpeta o con la fecha en el nombre, y obtener la ruta en la que está guardado. ¿Cómo se hace cada cosa?

Cómo guardar un libro habilitado para macros.

Para guardar por primera vez un libro con macros, o convertir un .xlsx en uno que las conserve, los pasos son estos:

  1. Hacer clic en la pestaña «Archivo» y luego en «Guardar como», o presionar F12.
  2. Elegir la carpeta donde se guardará el archivo.
  3. En la lista «Tipo», seleccionar «Libro de Excel habilitado para macros (*.xlsm)».
  4. Escribir el nombre y hacer clic en «Guardar».

Si se intenta guardar como .xlsx un libro con macros, Excel advierte que las macros no se pueden guardar en ese formato. Si se acepta, el libro se guarda sin ellas. Las macros que se escriben en el «Libro de macros personal» se guardan en un archivo aparte que Excel abre en segundo plano, de modo que quedan disponibles en todos los libros.

Para guardar los cambios de un libro que ya existe basta con Ctrl + G en Excel en español (Ctrl + S en inglés), o con el ícono del disquete de la barra de acceso rápido.

Al abrir de nuevo el archivo, hay que habilitar el contenido para que las macros funcionen, como se explica en el artículo sobre cómo abrir el editor de VBA y un libro con macros.

Macro para guardar el libro.

Las macros se escriben en el editor de Visual Basic (Alt + F11), en «Insertar», «Módulo». Para guardar el libro que contiene la macro:

Sub GuardarLibro()

ThisWorkbook.Save

End Sub

ThisWorkbook es el libro donde está la macro, y Save lo guarda en su ubicación actual. Si se quiere guardar el libro que está activo, que puede ser otro, se usa ActiveWorkbook.Save. Esta instrucción es útil al final de una macro que procesa datos, para que los resultados no se pierdan, y puede asignarse a un botón.

Obtener la ruta del libro.

Tres propiedades devuelven la ubicación del libro:

Propiedad Devuelve
ThisWorkbook.Path La carpeta: C:\Contabilidad
ThisWorkbook.Name El nombre: Ventas 2026.xlsm
ThisWorkbook.FullName La ruta completa: C:\Contabilidad\Ventas 2026.xlsm

Por ejemplo, esta macro muestra la ruta en un mensaje:

Sub MostrarRuta()

MsgBox "La ruta del libro es " & ThisWorkbook.FullName

End Sub

Path está vacía si el libro nunca se ha guardado. Sin macros, la ruta también se obtiene con la fórmula =CELDA("nombrearchivo";A1), que devuelve la carpeta, el nombre del libro y el de la hoja.

Guardar como en otra carpeta.

Para guardar el libro con otro nombre o en otra carpeta se usa SaveAs, indicando la ruta completa y el formato. Esta macro toma la carpeta de la celda A1 y el nombre de la B1, crea la carpeta si no existe y guarda el libro como .xlsm:

Sub GuardarComoEnCarpeta()

Dim carpeta As String, nombre As String

carpeta = Trim(ActiveSheet.Range("A1").Value)

nombre = Trim(ActiveSheet.Range("B1").Value)

If Right(carpeta, 1) <> "\" Then carpeta = carpeta & "\"

If Dir(carpeta, vbDirectory) = "" Then MkDir carpeta

ThisWorkbook.SaveAs Filename:=carpeta & nombre & ".xlsm", FileFormat:=52

End Sub

FileFormat:=52 corresponde al libro habilitado para macros (.xlsm); para un .xlsx sin macros sería 51. Después de SaveAs, se sigue trabajando en el archivo nuevo.

Guardar una copia con la fecha.

Para guardar una copia de seguridad sin dejar de trabajar en el archivo original se usa SaveCopyAs. Con la fecha y la hora en el nombre, cada copia queda separada:

Sub GuardarCopiaConFecha()

ThisWorkbook.SaveCopyAs ThisWorkbook.Path & "\Copia " & Format(Now, "yyyy-mm-dd hh-mm") & ".xlsm"

End Sub

Los dos puntos no se admiten en los nombres de archivo, por eso la hora se escribe con guion.

Descargar las macros.

En este archivo puede descargar varias macros relacionadas con guardar libros en Excel.

Preguntas frecuentes.

A continuación respondemos las preguntas frecuentes de nuestros lectores.

¿Cómo guardo un libro habilitado para macros?

Con «Archivo», «Guardar como», eligiendo en «Tipo» la opción «Libro de Excel habilitado para macros (*.xlsm)».

¿Por qué se borraron mis macros al guardar?

Porque el libro se guardó como .xlsx, formato que no admite macros.

¿Cuál es el código VBA para guardar un libro?

ThisWorkbook.Save para el libro que contiene la macro, o ActiveWorkbook.Save para el libro activo.

¿Cómo obtengo la ruta del libro con una macro?

Con ThisWorkbook.Path para la carpeta o ThisWorkbook.FullName para la ruta completa.

¿Para qué sirve la opción «Guardar como»?

Para guardar el libro con otro nombre, en otra carpeta o en otro formato, como .xlsm, .xlsx o PDF.

¿Aún no tienes cuenta en Gerencie.com?
El registro es completamente gratis y desbloquea beneficios exclusivos.

Forma de citar este artículo (APA):

Invitado. (2026, septiembre 24). Cómo guardar un libro de Excel con macros y macros para guardarlo [Entrada de blog]. Recuperado de https://www.gerencie.com/macro-para-guardar-el-libro-de-excel.html

Deje su opinión o su pregunta. Trataremos de darle respuesta. Su comentario o pregunta será editada automáticamente por el sistema.

Regístrese para que le avisemos cuando respondan su pregunta.