Macro para guardar un archivo excel con un nuevo nombre y fecha
De hecho, saber cómo guardar libros de Excel utilizando VBA es esencial. A medida que trabaje con Visual Basic para Aplicaciones, notará que guardar libros de trabajo es una de las cosas más importantes que pueden hacer sus macros.
Además de proporcionar algunos ejemplos de código VBA que puede utilizar para guardar libros de trabajo, explico los fundamentos que rodean a 4 métodos VBA que probablemente encontrará y utilizará constantemente al guardar libros de trabajo. La siguiente tabla de contenidos muestra los temas específicos que explico en este tutorial de Excel:
Este tutorial de VBA de Excel para guardar libros de trabajo va acompañado de un libro de Excel que contiene los datos y las macros que utilizo (incluida la macro Save_Workbook). Puede obtener acceso gratuito inmediato a este libro de trabajo de ejemplo suscribiéndose al Boletín de Power Spreadsheets.
En este caso, ActiveWorkbook es una referencia simplificada a la propiedad Application.ActiveWorkbook. Esta propiedad devuelve un objeto Workbook, tal como lo requiere el método Workbook.Save. El libro de trabajo que es devuelto por la propiedad ActiveWorkbook es, más precisamente, el libro de trabajo de la ventana activa actual.
Excel vba guardar libro como nuevo archivo y cerrar
Guardar un Archivo en el Escritorio con VBEl siguiente es un simple ejemplo de Excel VBA para copiar datos del libro actual y guardar el archivo en el escritorio. El procedimiento guardará el archivo y lo cerrará dejando al usuario en la hoja original. El siguiente vídeo de YouTube muestra cómo guardar un archivo en el escritorio con VBA. Realmente no necesitas un archivo de Excel para este video.
El proceso de guardar un archivoEl siguiente código VBA debe colocarse en un módulo VBA normal. Copiará el contenido de la región actual en la hoja activa siempre que comience en A1 y lo pegará en una hoja de trabajo recién creada, luego guardará esa hoja de trabajo en el escritorio. El procedimiento más dinámico está en el video y debajo de este proceso VBA.
Para hacer que el código VBA anterior sea más dinámico (sin que se requiera una ruta al escritorio) podemos atrapar la ruta del escritorio utilizando el comando WScript.Shell. Lo siguiente guardará el libro de trabajo activo en el escritorio sin importar la ruta.
Excel vba guardar archivo con nombre variable
Las únicas cosas que necesita o podría querer cambiar están relacionadas con dónde guardar el nuevo archivo y bajo qué nombre. Donde dice “C:\” simplemente cambie esto a la ubicación deseada donde le gustaría guardar el archivo en su computadora. La letra C es el nombre del disco duro donde guardará el archivo y todo lo que sigue son nombres de carpetas. Para obtener esto para su carpeta de destino, simplemente navegue hasta ella y mire en la parte superior de la ventana, donde debería ver la ruta del archivo que le lleva al directorio actual. Si estás en Windows 7 o posterior, haz clic donde se encuentra la ruta del archivo y verás que cambia al formato correcto que luego puedes copiar y pegar en esta macro. Para cambiar el nombre del archivo, simplemente sustituya ActiveSheet.Name por el nombre deseado del archivo. Si está guardando un archivo con un formato diferente al formato predeterminado de Excel 2007 y posteriores, xlsx, sustituya xlsx por la extensión de archivo correcta, ya sea xls, xlsm, xml, etc.
Excel vba guardar libro en carpeta específica
En la cadena de formato que se muestra a continuación, se introduce una barra invertida antes del guión bajo, para indicar que es un carácter literal. De lo contrario, Excel interpretaría el guión bajo como el carácter de espaciado que se utiliza en el formato numérico de Excel.
A continuación, la macro obtiene la ruta por defecto para guardar el archivo PDF. Si el libro activo ha sido guardado, se utiliza su ruta. Si el libro activo no se ha guardado, se utiliza la carpeta de guardado por defecto de Excel.
La macro anterior crea un nombre por defecto con una marca de tiempo, basado en el nombre de la hoja activa. Le pide que seleccione una carpeta para el archivo PDF guardado, y puede cambiar el nombre por defecto, si prefiere algo diferente.
En la siguiente macro, el nombre por defecto se basa en los valores de las celdas A1, A2 y A3 de la hoja activa. El archivo PDF se guarda automáticamente en la carpeta actual — no se le pide que elija una carpeta, y no puede cambiar el nombre por defecto.
Después de horas estudiando los informes del Process Monitor en dos ordenadores diferentes y comparándolos, descubrí que las aplicaciones de Microsoft Office buscan “sRGB Color Space Profile.icm” en el lugar equivocado y no lo encuentran. Eliminando los siguientes valores del Registro, el problema desaparece: