通过VBA导入文本文件

时间:2012-12-20 09:13:43

标签: excel vba excel-vba

这是每次运行时的问题,而不是更新我导入的旧数据,它将旧数据推送到右侧。

任何人都可以帮助我 我想导入文本文件到特定区域也包含导入后分隔的文本,如下所示

就像导入文件从列A3到z3那样的东西我找不到正确的词来解释它

Sub import()
    rPaht = Sheet5.Range("a1")
    rFileName = Sheet5.Range("b1")
    Sheet5.Range("a4").CurrentRegion.Offset(500, 0).Resize(, 40).Clear
    With Sheet5.QueryTables.Add(Connection:= _
        "TEXT;" & rPaht & "\" & rFileName & ".txt", Destination:=Sheet5.Range("$A$4"))
        .Name = Sheet5.Range("b1").Value
        .TextFilePlatform = 874
        .TextFileStartRow = 1
        .TextFileParseType = xlDelimited
        .TextFileOtherDelimiter = "?"
        .Refresh BackgroundQuery:=True
    End With
    Sheet5.Range("a1") = rPaht
    Sheet5.Range("b2") = rFileName
End Sub

如果您可以推荐任何新类型的代码我会感激

解释包含是我学习编码的最佳礼物

1 个答案:

答案 0 :(得分:2)

我在查询txt文件时尝试recording macro的queryTable到excel

我认为你缺少一条关键线

.RefreshStyle = xlOverwriteCells

我尝试WITHWITHOUT这一行,行为是替换,SHIFT数据到右边

RefreshStyle的默认值为xlInsertDeleteCells - Partial rows are inserted or deleted to match the exact number of rows required for the new recordset.

Reference