VBA - construir uma interface de importação personalizada

Índice

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

Public Sub CustomImport ()

'Definir Variáveis
Dim ImportFile As String
Dim ImportTitle As String
Dim TabName As String
Dim ControlFile As String

'Abra a caixa de diálogo comum e obtenha o nome do arquivo
ImportFile = Application.GetOpenFilename (_
"Arquivos Excel, * .xls, Todos os arquivos, *. *")
ImportTitle = _
Mid (ImportFile, InStrRev (ImportFile, "\") + 1)

'A verificação de cancelamento não foi clicada
If ImportFile = "False" Then
Sair do Sub
Fim se

'Importar arquivo
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

End Sub
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.

Você vai ajudar o desenvolvimento do site, compartilhando a página com seus amigos

wave wave wave wave wave