Sub Import()
Dim FilePath As String
FilePath = "TEXT;C:\directory\" & Cells(1, 1).Value
ActiveWorkbook.Worksheets.Add
With ActiveSheet.QueryTables.Add(Connection:=FilePath, Destination:=Range("$A$1"))
.Name = "Book1"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 437
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = False
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = True
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
End Sub
Isso criará uma nova planilha com os dados quando você colocar o arquivo (book3.csv por exemplo) na planilha1 A1; você muda o diretório C: \ para o diretório em que sua entrada existe e você pode alterar o intervalo de saída na linha 5 "Range"
Além disso, a linha 3 "Células (1,1) indica a célula de entrada, portanto, você pode alterar isso da Folha1 A1, se desejar. É necessário indicar a extensão do arquivo na célula de referência; caso contrário, ele não saberá a qual arquivo Basta executar essa macro e você obterá uma nova planilha com os dados de destino.Se você precisar de uma nova pasta de trabalho ou para inseri-la em uma planilha existente, avise-nos.
Além disso, se você observar as propriedades, será um arquivo delimitado por vírgula, ou apenas poderá gravar sua própria macro (guia desenvolvedor - > macro de registro) e inserir os comandos do tipo FilePath na parte superior e alterar o comando de conexão