TXTファイル(1列)を持つフォルダが1つあります。 1つのワークシートにインポートする必要がありますが、各ファイルは新しい列にある必要があります。ヘッダーとしてファイル名を追加すると良いでしょう。複数のTXT/CSVを1つのExcelシートにインポートしますが、次の列の各ファイル
新しいファイルが開かれる前に、私はcl
要素を増やそうとしています。良い方向ですか?
Set cl = ActiveSheet.Cells(1, i)
i = i + 1
以下のコードを変更するにはどうすればよいですか?どんな助けでも大歓迎です!
Sub ReadFilesIntoActiveSheet()
Dim fso As FileSystemObject
Dim folder As folder
Dim file As file
Dim FileText As TextStream
Dim TextLine As String
Dim Items() As String
Dim i As Long
Dim cl As Range
' Get a FileSystem object
Set fso = New FileSystemObject
' get the directory you want
Set folder = fso.GetFolder("d:\Projects\Data\")
' set the starting point to write the data to
Set cl = ActiveSheet.Cells(1, 1)
' Loop thru all files in the folder
For Each file In folder.Files
' Open the file
Set FileText = file.OpenAsTextStream(ForReading)
' Read the file one line at a time
Do While Not FileText.AtEndOfStream
TextLine = FileText.ReadLine
' Parse the line into | delimited pieces
Items = Split(TextLine, "|")
' Put data on one row in active sheet
For i = 0 To UBound(Items)
cl.Offset(0, i).Value = Items(i)
Next
' Move to next row
Set cl = cl.Offset(1, 0)
Loop
' Clean up
FileText.Close
Next file
Set FileText = Nothing
Set file = Nothing
Set folder = Nothing
Set fso = Nothing
End Sub
あなたが投稿したコードは、質問には良い試合をいないようですワークシートを見てください。 –
サンプルデータを共有するための最良の方法は何か分かりません。この画像で試してみましょう:[リンク] http://i66.tinypic.com/a3jdde.png列Aは最初のファイルのサンプルを含んでいます。列C-E他のファイルと結合した後に見たいもの。ファイル名はオプションです。データは列Aから始める必要があります。ありがとうございます! – Adam