我在此網站上發現了此代碼,但我無法根據自己的需要對其進行調整,但我認爲它必須是非常快速解決。將文本文件導入到Excel中 - 每個文件的行都放在同一行的不同列中
該代碼將一系列文本文件導入到excel中。打開一個文件,該文件的第一行放在A1中,第二行放在A2中,依此類推。當打開一個新文件時,文本被放置在列A中的下一個可用單元格中(所有文件都讀入A列)。
我想稍作修改。我需要A1中文件1的第一行,B1中的第二行等等(即文件1中的所有行保存在第1行中)。然後,文件2中的行放在第2行,第3行中的文件3等。
任何幫助將不勝感激!
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:\YourDirectory\")
' 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
謝謝@ScottHoltzman,這正是我上面所要求的。但是,當我運行代碼時,我意識到我忘記了關於我的文本文件的一件重要事情。每個文件中經常有許多不同的「部分」。我希望每個部分都是我的excel文件中的一個單獨的行。在每個文件的開頭有3或4行介紹性文字,然後每一部分以含有單詞「FINEX」的行開始。如何修改代碼以在Excel中遇到與單詞FINEX一致的行時在Excel中啓動新行?提前致謝 – Brackers