2012-12-20 177 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