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

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

еще один приемлемый ответ на мою проблему - это способ указать путь относительно файла excel-не нашли как-учитывая, что в моем случае csv и xls находятся в одном каталоге.

17
задан Raystafarian
05.01.2023 8:39 Количество просмотров материала 2428
Распечатать страницу

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"))
        .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 "Range"

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

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

1
отвечен Raystafarian 2023-01-06 16:27

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх