2016-07-12 4 views
0

テキストファイルから特定の行をExcelスプレッドシートにインポートするマクロセットアップを取得しようとしています。私は現在、特定の単語を特定し、セルにデータをインポートするために必要な文字数を読み込むためにinstr関数を使用しています。特定の行をテキストファイルからVBAを使用してExcelスプレッドシートにインポートします

私がこのようにしているのは、ファイルが3500行以上あり、区切られていないかカンマで区切られているからです。データの中には、上記の戦術に問題があるものもあります。

私が助けが必要なのは、前述のようなテクニックを使用しながら、スプレッドシートに複数の特定の行(複数のシートが使用されますが、このコードを再利用できる)をインポートする方法です。から。

ありがとうございます!

+0

ファイルを1行ずつ読み込み、各行を個別に確認することができます。たとえば、[this](http://stackoverflow.com/questions/38307160/error-while-reading-csv-with-vba/38307391#38307391)最近の質問を参照してください。 – arcadeprecinct

答えて

0

これは私が絶えず使うものです。ファイルの場所をテキストファイルに置き換えるだけで、この小さなブリップが行単位で読み込まれます。次に、1行に論理を投げて、それをどうするかを決めることができます。正規表現が正確に扱うことができないデータを扱うときの良い解決策です。

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 
関連する問題