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)放入sheet1 A1 中時,這將建立一個包含資料的新工作表;您將 C:\directory 變更為輸入所在的目錄,並且可以變更第 5 行「範圍」中的輸出範圍

此外,第 3 行「Cells(1,1) 表示輸入單元格,因此您可以根據需要從 Sheet1 A1 更改它。您需要在引用單元格中指示檔案副檔名,否則它將不知道要讀取哪個文件只需執行此宏,您將獲得一個包含目標資料的新工作表,如果您需要新工作簿或將其插入現有工作表,請告訴我。

另外,如果您查看屬性,這是一個逗號分隔的文件,您可以更改它,或者只記錄您自己的巨集(開發人員選項卡 -> 記錄巨集)並在頂部插入 FilePath 類型命令並更改連接命令

相關內容