VBA: cree una interfaz de importación personalizada

Tabla de contenido

¿Preferiría tener control sobre los usuarios que importan archivos, en lugar de que utilicen las funciones de Excel para hacerlo? ¿Necesita más control sobre sus importaciones para la validación o modificación en la importación? Hay varias formas de hacer esto y tantas variaciones de requisitos, pero estos son algunos de los componentes básicos para comenzar.

1. Coloque el siguiente código en un módulo y luego ejecútelo

Public Sub CustomImport ()

'Definir variables
Dim ImportFile como cadena
Dim ImportTitle como cadena
Dim TabName como cadena
Dim ControlFile como cadena

'Abrir cuadro de diálogo común y obtener el nombre del archivo
ImportFile = Application.GetOpenFilename (_
"Archivos de Excel, * .xls, Todos los archivos, *. *")
ImportTitle = _
Medio (ImportFile, InStrRev (ImportFile, "\") + 1)

No se hizo clic en la casilla de verificación para cancelar
Si ImportFile = "False", entonces
Salir de Sub
Terminara si

'Importar archivo
TabName = "MyCustomImport"
ControlFile = ActiveWorkbook.Name
Workbooks.Open Filename: = ImportFile
ActiveSheet.Name = TabName
Hojas (TabName). Copiar _
Antes: = Libros de trabajo (ControlFile) .Sheets (1)
Windows (ImportTitle) .Activate
ActiveWorkbook.Close SaveChanges: = Falso
Windows (ControlFile) .Activar

End Sub
Nota al margen: esto funciona bien para archivos * .xls, * .xlsx, * .xlsm, * .csv y * .txt. Puede agregar o llamar al código antes de End Sub para modificar los datos importados antes de que el usuario pueda tocarlos.

Va a ayudar al desarrollo del sitio, compartir la página con sus amigos

wave wave wave wave wave