Ya sabemos cómo abrir o guardar un archivo de Excel en VBA. Simplemente usamos el método Open y SaveAs del objeto Workbook. Pero eso requiere una codificación rígida de la ruta del archivo. Pero la mayoría de las veces querrá que el usuario final seleccione un archivo usando la GUI o diga el cuadro de diálogo Abrir archivo o Guardar como que le permite al usuario elegir la ubicación del archivo de forma visual y sencilla.

En este artículo, cubrimos el código utilizado para mostrar el cuadro de diálogo abierto del libro y guardarlo como cuadro de diálogo.

He adjuntado un libro de trabajo que puede descargar. El libro de trabajo adjunto a este artículo contiene tres macros === Código VBA para abrir archivo usando el cuadro de diálogo Abrir archivo En este código, usaremos el método de aplicación GetOpenFilename. La sintaxis del método GetOpenFilename es:

_Application.GetOpenFilename ([FileFilter], [FilterIndex], [Title], [ButtonText], [MultiSelect]) _ [FileFilter]: Puede definir mostrar solo un tipo de archivo en la carpeta seleccionada. Si escribe «Archivos de Excel, .xlsx, .xls, * .xlsm», etc.

entonces solo se mostrarán los archivos de Excel de la carpeta en el cuadro de diálogo de apertura de archivos.

[FilterIndex]: * Es la cantidad de filtros de archivo que desea utilizar.

[Título]: el título del cuadro de diálogo.

[ButtonText]: * Para especificar el texto del botón. No importante.

[MultiSelect]: es una variable booleana. Si lo configura como Verdadero o 1, podrá seleccionar más de un archivo. Si lo establece como falso, solo puede seleccionar un archivo.

Basta de teoría. Hagamos algunos hechizos.

Código VBA para abrir un archivo a la vez

Option Explicit

Sub OpenOneFile()

Dim FileName As Variant

'Displaying the open file dialog box

FileName = Application.GetOpenFilename("Excel-files,*.xls", _

1, "Select One File To Open", , False)

'User didn't select a file

If TypeName(FileName) = "Boolean" Then Exit Sub

'Open the workbook

Workbooks.Open FileName

End Sub

ArrowOpeningSingle

¿Cómo funciona?

Cuando ejecuta este segmento de código, el método GetOpenFilename para el objeto Aplicación abrirá un cuadro de diálogo Abrir archivo. El título del cuadro de diálogo será «Seleccionar un archivo para abrir» como definimos en el código.

Si selecciona un archivo, se ejecutará el código Worbook.Open y se abrirá el archivo. Si no selecciona un archivo, el sub se cerrará sin ejecutar el código Workbook.Open.

Código VBA para abrir uno o más archivos a la vez Este segmento de código abrirá el cuadro de diálogo de apertura de archivos, pero podrá seleccionar más de un archivo a la vez.

Sub OpenMultipleFiles()

Dim FileName As Variant, f As Integer

'Displaying the open file dialog box

FileName = Application.GetOpenFilename("Excel-files,*.xlsx", _

1, "Select One Or More Files To Open", , True)

'User didn't select a file

If TypeName(FileName) = "Boolean" Then Exit Sub

'Open all the workbooks selected by user

For f = 1 To UBound(FileName)

Workbooks.Open FileName(f)

Next f

End Sub

Tenga en cuenta que aquí hemos establecido la variable de selección múltiple en Verdadero. Esto permitirá la selección múltiple del archivo.

ArrowOpeningMultiple

Código VBA para abrir el cuadro de diálogo Guardar como Para abrir un cuadro de diálogo Guardar como usaremos el método GetSaveAsFilename del objeto Aplicación. La sintaxis del método es:

_Application.GetSaveAsFilename ([InitialFileName], [FileFilter], [FilterIndex], [Title], [ButtonText]) _ [InitialFileName]: * El nombre del archivo inicial. Si no cambia el nombre del archivo mientras lo guarda, su archivo se guardará con este nombre.

[FileFilter]: puede definir mostrar solo un tipo de archivo en la carpeta seleccionada. Si escribe «Archivos de Excel, .xlsx, .xls, * .xlsm», etc.

entonces solo se mostrarán los archivos de Excel de la carpeta en el cuadro de diálogo de apertura de archivos.

[FilterIndex]: el índice de filtro del archivo.

[Título]: * El título del cuadro de diálogo.

[ButtonText]: * Esto se usa en el sistema Mac para cambiar el nombre del botón.

Siga el código a continuación

Sub SaveFile()

Dim FileName As Variant

'Displaying the saveas dialog box

FileName = Application.GetSaveAsFilename("MyFileName.xls", _

"Excel files,*.xls", 1, "Select your folder and filename")

'User didn't save a file

If TypeName(FileName) = "Boolean" Then Exit Sub

'Save the workbook

ActiveWorkbook.SaveAs FileName

End Sub

SaveFile Macro utiliza el método GetSaveAsFilename del objeto Aplicación para abrir el cuadro de diálogo Guardar como, asignando el nombre del archivo y seleccionando la ubicación para guardar el libro.

ArrowSavingWorkbook

Así que sí, chicos, así es como pueden usar el cuadro de diálogo para abrir y guardar archivos usando VBA. Espero que haya sido de ayuda. Si tiene alguna duda con respecto a este artículo o cualquier otro tema de VBA, pregunte en la sección de comentarios a continuación.

Artículos relacionados:

`link: / import-and-export-in-vba-use-a-closed-workbook-as-a-database-dao-using-vba-in-microsoft-excel [Use a closed workbook as a database (DAO) usando VBA en Microsoft Excel] `| Para usar un libro de trabajo cerrado como base de datos con conexión DAO, use este fragmento de VBA en Excel.

`link: / import-and-export-in-vba-use-a-closed-workbook-as-a-database-ado-using-vba-in-microsoft-excel [Use un libro cerrado como base de datos (ADO) usando VBA en Microsoft Excel] `| Para usar un libro cerrado como una base de datos con conexión ADO, use este fragmento de VBA en Excel.

link: / applications-word-outlook-in-vba-Getting-started-with-excel-vba-userforms [Comenzando con Excel VBA UserForms] | * Para insertar datos en la base de datos, usamos formularios. Los UserForms de Excel son útiles para obtener información del usuario. Así es como debe comenzar con los formularios de usuario de VBA.

===

`link: / user-forms-input-boxes-in-vba-change-the-value-content-of-multiple-user-form-controls-using-vba-in-microsoft-excel [Cambiar el valor / contenido de varios UserForm-controles usando VBA en Excel] `| * Para cambiar el contenido de los controles de formulario de usuario, use este simple fragmento de VBA.

`link: / user-forms-input-boxes-in-vba-prevent-a-userform-from-close-when-the-user-click-the-x-button-using-vba-in-microsoft-excel [ Evitar que un formulario de usuario se cierre cuando el usuario hace clic en el botón x mediante VBA en Excel] `| Para evitar que el formulario de usuario se cierre cuando el usuario hace clic en el botón x del formulario, usamos el evento UserForm_QueryClose.

Artículos populares:

link: / keyboard-formula-shortcuts-50-excel-shortcuts-to-aumentar-su-productividad [50 atajos de Excel para aumentar su productividad] | Acelera tu tarea. Estos 50 atajos lo harán trabajar aún más rápido en Excel.

enlace: / fórmulas-y-funciones-introducción-de-función-vlookup [La función BUSCARV en Excel] | Esta es una de las funciones más utilizadas y populares de Excel que se utiliza para buscar valores de diferentes rangos y hojas.

enlace: / tips-countif-in-microsoft-excel [COUNTIF en Excel 2016] | Cuente valores con condiciones usando esta asombrosa función. No necesita filtrar sus datos para contar un valor específico.

La función Countif es esencial para preparar su tablero.

link: / excel-formula-and-function-excel-sumif-function [Cómo utilizar la función SUMIF en Excel] | Esta es otra función esencial del tablero. Esto le ayuda a resumir valores en condiciones específicas