2012-12-20 102 views
3

每当我运行它时,都会出现这个问题,而不是更新我导入的旧数据,它会将旧数据推送到右侧。通过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 

,如果你能提出任何新的代码,我将感激

的解释包括:对我来说是最好的礼物,研究编码

回答

2

我试过的QueryTable通过recording macro在读一个txt文件到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

+0

我应该在哪里把缺失行,我应该在哪里删除不需要的代码行 我试图把,但它仍然是 转移数据,我得到它的权利 – eathapeking

+1

现在感谢youuu – eathapeking