VBA Guardar Archivo – 20 Ejemplos fáciles

Written by

Editorial Team

Reviewed by

Steve Rynearson

Translated by

Dennis Madrid

Last updated on agosto 22, 2022

Este tutorial de VBA cubre cómo guardar un archivo utilizando los comandos Guardar y Guardar como en VBA

Guardar Libro de Trabajo – VBA

El comando Guardar de VBA guarda un archivo de Excel de forma similar a cuando se hace clic en el icono Guardar o se utiliza el acceso directo a Guardar (CTRL + S).

Guardar un Libro de Trabajo Especificado

Para guardar un libro de trabajo, haga referencia al objeto libro de trabajo y utilice el comando Guardar.

Workbooks("Archivo.xlsm").Save

Guardar el libro de trabajo activo

Nota: Este es el libro de trabajo activo actuallmente, que es diferente de ThisWorkbook que contiene el código en ejecución.

ActiveWorkbook.Save

Codificación VBA Fácil

Deje de buscar el código VBA en línea. Conozca más sobre AutoMacro – Un generador de código VBA que permite a los principiantes codificar procedimientos desde cero con un mínimo conocimiento de codificación y con muchas características que ahorran tiempo a todos los usuarios vba save as

Más información

Guardar el libro de trabajo donde se almacena el código

ThisWorkbook.save

Guardar todos los libros de trabajo abiertos

Esto hará un bucle a través de todos los libros de trabajo abiertos, guardando cada uno de ellos.

Sub guardarLibros()
    Dim libro As Workbook
    For Each libro In Application.Workbooks
        libro.Save
    Next libro
End Sub

Guardar todos los libros de trabajo abiertos que no se abrieron en modo ReadOnly

Nota: abrir un libro de trabajo en modo Sólo lectura impide guardar el archivo. Para guardar el archivo tendrá que utilizar Guardar como y guardar el archivo con un nombre diferente.

Sub guardarLibrosAbiertosSinSoloLectura()
    Dim libro As Workbook
 
    For Each libro In Application.Workbooks
        If Not libro.ReadOnly Then
            libro.Save
        End If
    Next libro
End Sub

Guardar un libro de trabajo definido por una variable

Esto guardará un libro de trabajo que fue asignado a una variable de objeto de libro de trabajo.

Sub guardarLibroEnVariable()
    Dim libro As Workbook
 
    Set libro = Workbooks("Archivo.xlsm")
    libro.Save
End Sub

Guardar un libro de trabajo definido por una variable de cadena

Esto guardará un libro de trabajo cuyo nombre fue guardado en una variable de cadena.

Sub guardarLibroEnVariableDeCadena()
    Dim cadenaLibros As String
    cadenaLibros = "Archivo.xlsm"
    Workbooks(cadenaLibros).Save
End Sub

Guarda un libro de trabajo definido por el orden en que fue abierto.

Nota: El primer libro de trabajo abierto tendría el 1, el segundo el 2, etc.

workbooks(1).save

Guardar un libro de trabajo basado en el valor de una celda

Esto guardará un libro de trabajo cuyo nombre se encuentre en un valor de celda.

Sub guardarLibroNombreEnValorCelda()
    Dim cadenaLibros As String
    cadenaLibros = ActiveWorkbook.Sheets("Hoja1").Range("A1").Value
    Workbooks(cadenaLibros).Save
End Sub

Guardar como – VBA

El comando VBA Guardar como guarda un archivo de Excel como un nuevo archivo, de forma similar a hacer clic en el icono Guardar como o utilizar el acceso directo Guardar como (Alt > F > A).

Más arriba, identificamos todas las formas de especificar qué libro de trabajo guardar. Puede utilizar esos mismos métodos para identificar los libros de trabajo cuando utilice Guardar como.

Guardar como se comporta de manera similar a Guardar, excepto que también debe especificar el nombre del nuevo archivo. De hecho, Guardar Como tiene muchas variables potenciales para definir:

Sintaxis de SaveAs:

workbookObject.SaveAs(FileName, FileFormat, Password, WriteResPassword, _
ReadOnlyRecommended, CreateBackup, AccessMode, ConflictResolution, _
AddToMru,TextCodepage, TextVisualLayout, Local)

A continuación se incluye una descripción completa de todos los argumentos de SaveAs. Por ahora nos centraremos en los ejemplos más comunes. Nota: Estos argumentos pueden introducirse como cadenas con paréntesis o como variables definidas.

Ejemplos de Sintaxis de Guardar Como:

Libro de Trabajo Guardar Como – mismo directorio

ActiveWorkbook.SaveAs Filename:= "new"

o

ActiveWorkbook.SaveAs "Nuevo"

o

Dim cadena as string
 
cadena = "Nuevo"
ActiveWorkbook.SaveAs Filename:= cadena

Libro de Trabajo Guardar Como – nuevo directorio

ActiveWorkbook.SaveAs Filename:= "C:\nuevo"

o

Dim libro as string
 
libro = "C:\new"
ActiveWorkbook.SaveAs Filename:= libro

Libro de Trabajo Guardar Como – nuevo directorio, especificar extensión de archivo

ActiveWorkbook.SaveAs Filename:= "C:\nuevo.xlsx"

o

Dim libro as string
 
libro = "C:\nuevo.xlsx"
ActiveWorkbook.SaveAs Filename:= libro

Libro de Trabajo Guardar Como – nuevo directorio, especificar extensión de archivo – Método Alt

También puede especificar el formato del archivo en su propio argumento.

.xlsx = 51 '(52 para Mac)
.xlsm = 52 '(53 para Mac)
.xlsb = 50 '(51 para Mac)
.xls = 56 '(57 para Mac)
ActiveWorkbook.SaveAs Filename:= "C:\nuevo", FileFormat:= 51

Libro de trabajo Guardar Como – añadir contraseña para abrir el archivo

ActiveWorkbook.SaveAs Filename:= "C:\nuevo.xlsx", Password:= "contraseña"

Libro de trabajo Guardar Como – añadir contraseña para privilegios de escritura

Si no se proporciona la contraseña correcta, el libro de trabajo se abre como de sólo lectura

ActiveWorkbook.SaveAs Filename:= "C:\nuevo.xlsx", WriteRes:= "contraseña"

Se recomienda guardar el libro de trabajo como de sólo lectura

TRUE para mostrar un cuadro de mensaje, recomendando que el archivo se abra de sólo lectura.

ActiveWorkbook.SaveAs Filename:= "C:\nuevo.xlsx", ReadOnlyRecommended:= TRUE

Otros ejemplos de Guardar Como

Crear cuadro de diálogo Guardar Como

Esto genera el cuadro de diálogo Guardar como, solicitando al usuario que guarde el archivo. Tenga en cuenta que este sencillo código puede no ser apropiado en todos los casos.

Application.GetSaveAsFilename

Crear el cuadro de diálogo Guardar Como con el nombre de archivo predeterminado proporcionado

Application.GetSaveAsFilename InitialFilename:="prueba.xlsx"

Crear y guardar un nuevo libro de trabajo

Esto creará un nuevo libro de trabajo y lo guardará inmediatamente.

Dim libro As Workbook
 
Set libro = Workbooks.Add
Application.DisplayAlerts = False
libro.SaveAs Filename:=”c:\Prueba1.xlsx”
Application.DisplayAlerts = True

Desactivar Alertas de Guardado

A medida que trabaja con el guardado en VBA, puede encontrarse con varias advertencias o avisos de guardado. Para deshabilitar las advertencias, añada esta línea de código:

Application.DisplayAlerts=False

y para volver a habilitar las alertas

Application.DisplayAlerts=True

vba-free-addin

Complemento de Ejemplos de Código de VBA

Acceda fácilmente a todos los ejemplos de código que se encuentran en nuestro sitio.

Simplemente navegue al menú, haga clic y el código se insertará directamente en su módulo. Complemento .xlam.

(¡No se requiere instalación!)

Descarga gratuita

Return to VBA Code Examples