Você prefere ter controle sobre a importação de arquivos pelos usuários, em vez de fazer com que eles usem os recursos do Excel para fazer isso? Você precisa de mais controle sobre suas importações para validação ou modificação na importação? Existem várias maneiras de fazer isso e muitas variações de requisitos, mas aqui estão alguns dos blocos de construção para começar.
1. Coloque o seguinte código em um módulo e execute-o
'Definir Variáveis 'Abra a caixa de diálogo comum e obtenha o nome do arquivo 'A verificação de cancelamento não foi clicada 'Importar arquivo End SubPublic Sub CustomImport ()
Dim ImportFile As String
Dim ImportTitle As String
Dim TabName As String
Dim ControlFile As String
ImportFile = Application.GetOpenFilename (_
"Arquivos Excel, * .xls, Todos os arquivos, *. *")
ImportTitle = _
Mid (ImportFile, InStrRev (ImportFile, "\") + 1)
If ImportFile = "False" Then
Sair do Sub
Fim se
TabName = "MyCustomImport"
ControlFile = ActiveWorkbook.Name
Workbooks.Open Filename: = ImportFile
ActiveSheet.Name = TabName
Planilhas (TabName) .Copiar _
Antes: = Pastas de trabalho (ControlFile). Folhas (1)
Windows (ImportTitle) .Activate
ActiveWorkbook.Close SaveChanges: = False
Windows (ControlFile) .Activate
Nota lateral: Isso funciona bem para arquivos * .xls, * .xlsx, * .xlsm, * .csv e * .txt. Você pode adicionar ou chamar o código antes do End Sub para modificar os dados importados antes que o usuário possa tocá-los.