我一直在絞盡腦汁試圖在Excel中創建的宏將打開所有.txt文件中的特定文件夾,並將它們導入到接下來的導入文件夾可用的行。數據是製表符分隔的,第一個文件需要導入到單元格B8,下一個文件B9,下一個B10等。Excel VBA中 - .TXT(製表delimted)文件到下一個可用行
我用這個代碼約80%,但它將所有數據導入到一個單元格(B8),而不是製表符分隔成行(B8,C8,D8,E8等)。
Sub Read_Text_Files()
Dim sPath As String, sLine As String
Dim oPath As Object, oFile As Object, oFSO As Object
Dim r As Long
'
'Files location
sPath = "C:\Test\"
'Text to Columns
Range("A1", Range("A" & Cells.Rows.Count).End(xlUp)).Select
Selection.TextToColumns DataType:=TabDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, _
Comma:=False, Space:=False, Other:=False
Application.ScreenUpdating = True
r = 8
Set oFSO = CreateObject(_
"Scripting.FileSystemObject")
Set oPath = oFSO.GetFolder(sPath)
Application.ScreenUpdating = False
For Each oFile In oPath.Files
If LCase(Right(oFile.Name, 4)) = ".txt" Then
Open oFile For Input As #1
Do While Not EOF(1) ' Loop until end of file.
Input #1, sLine ' Read data
Range("B" & r).Formula = sLine ' Write data line
r = r + 1
Loop
Close #1 ' Close file.
'
End If
Next oFile
End Sub
PS:我有VBA,它允許數據被導入到電子表格和粘貼數據成單個細胞(製表符分隔),但我不能工作了如何配合兩個在一起.. ' '打開文本文件 Workbooks.OpenText Filename:= strInFile,Origin:= 65001,StartRow:= 1,DataType:= xlDelimited,_ TextQualifier:= xlDoubleQuote,ConsecutiveDelimiter:= False,Tab:= True,FieldInfo:= Array (1,1),_ TrailingMinusNumbers:= TRUE; – 2013-03-08 16:56:54
你說的第一個文件進入B8,下入B9,等等......是每個文件只有一條線路長? – 2013-03-08 18:33:22
您可以使用'Split(sLine,vbTab)'來創建一個值的數組,然後您可以將其分配給工作表。 – 2013-03-08 19:21:46