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
Це створить новий аркуш із даними, коли ви помістіть файл (наприклад, book3.csv) в аркуші1 A1; ви змінюєте каталог C: в каталог, в якому ваш вхід існує, і ви можете змінити діапазон виведення в рядку 5 "Діапазон"
Крім того, лінія 3 "Клітинки (1,1)" вказує на клітинку введення, тому ви можете змінити її з Sheet1 A1, якщо ви хочете. Просто запустіть цей макрос, і ви отримаєте новий аркуш з цільовими даними.Якщо вам потрібна нова робоча книга або щоб вона вставила його в існуючий аркуш, дайте мені знати.
Крім того, якщо ви подивитеся на властивості цього файлу, розділеного комами, ви можете змінити це або просто записати власний макрос (вкладка розробника - & gt; макрос запису) і вставити команди типу FilePath у верхню частину та змінити команду підключення