Excel: изменить источник данных с помощью макроса

Excel: изменить источник данных с помощью макроса

Я использую CSV-файл (сгенерированный программой thing party) в качестве внешнего источника данных и хотел бы изменить его путь с помощью макроса... Как это сделать?

Другим приемлемым решением моей проблемы был бы способ указать путь относительно файла Excel (я не нашел, как это сделать), учитывая, что в моем случае и csv, и xls находятся в одном каталоге.

решение1

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:\directory на каталог, в котором находятся ваши входные данные, и вы можете изменить диапазон выходных данных в строке 5 «Диапазон».

Кроме того, строка 3 "Cells(1,1)" указывает на входную ячейку, поэтому вы можете изменить ее с Sheet1 на A1, если хотите. Вам необходимо указать расширение файла в ячейке ссылки, иначе он не будет знать, какой файл импортировать. Просто запустите этот макрос, и вы получите новый лист с целевыми данными. Если вам нужна новая рабочая книга или чтобы вставить ее в существующий лист, дайте мне знать.

Кроме того, если вы посмотрите на свойства, это файл с разделителями-запятыми, вы можете изменить это или просто записать свой собственный макрос (вкладка «Разработчик» -> «Запись макроса») и вставить команды типа FilePath вверху и изменить команду подключения.

Связанный контент