2016-07-12 183 views
0

我試圖獲得一個宏設置,它將從文本文件導入特定行到Excel電子表格中。我目前正在使用instr函數來定位一個特定的單詞,然後讀取我需要將數據導入到單元格中的多少個字母。使用VBA將文本文件中的特定行導入Excel電子表格

我這樣做的原因是由於該文件超過3500行,並沒有在任何意義上分隔或逗號分隔。有些數據與我遇到的上述策略存在的問題相同。

我需要幫助的是如何只導入20個特定行到電子表格(多張表將被使用,但可以重用此代碼),而使用像我之前提到的技術,所以我可以決定它的閱讀位置從。

謝謝!

+0

您可以逐行讀取文件並單獨檢查每一行。請參閱例如[this](http://stackoverflow.com/questions/38307160/error-while-reading-csv-with-vba/38307391#38307391)最近的問題。 – arcadeprecinct

回答

0

這是我不斷使用的。只需用文本文件替換文件位置,這個小小的blip將逐行讀取它。然後,您可以針對一條線投擲邏輯並決定如何處理它。在處理正則表達式無法正確處理的數據時,它是一個很好的解決方案。

Sub LoadSettings() 
Dim fso As Scripting.FileSystemObject 
Dim F As File 
Dim F2 As TextStream 
Dim TS As TextStream 
Dim lngCount As Long 


Set fso = New Scripting.FileSystemObject 

fileloc = "Whereyourtextfileislocated" 
Set F = fso.GetFile(fileloc) 


Set TS = F.OpenAsTextStream(1, -2) 

S = "" 
Do 

RptText = TS.ReadLine 

if rpttext = whatever criteria, or even if instr(rpttext,"whateveryouwant")  >0 then 
    do something with rpttext 
end if 

Loop 

End Sub 
相關問題