¿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
'Definir variables 'Abrir cuadro de diálogo común y obtener el nombre del archivo No se hizo clic en la casilla de verificación para cancelar 'Importar archivo End SubPublic Sub CustomImport ()
Dim ImportFile como cadena
Dim ImportTitle como cadena
Dim TabName como cadena
Dim ControlFile como cadena
ImportFile = Application.GetOpenFilename (_
"Archivos de Excel, * .xls, Todos los archivos, *. *")
ImportTitle = _
Medio (ImportFile, InStrRev (ImportFile, "\") + 1)
Si ImportFile = "False", entonces
Salir de Sub
Terminara si
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
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.