標題:
[發問]
vba 抓多個txt檔案的最後一行
[打印本頁]
作者:
ilikeiceblue
時間:
2013-7-22 15:10
標題:
vba 抓多個txt檔案的最後一行
以下是多個例子的txt檔案內容
(每一個txt長度不同)
best1.txt:
61566.1459848279 36804.0615 7070 64
61566.1459848279 36804.0615 7070 64
61566.1459848279 36804.0605 7070 62
best2.txt:
78919.8415585053 53106.9944 8570 53
78919.8415585053 43939.0331 7685 53
78919.8415585053 40147.0986 7685 53
78919.8415585053 40147.0986 7685 61
我想要判斷如果下一行讀到空白或是抓length-1最後一個的位置藍色那些方入每一列Excel欄位
最後在自己用最簡單的以空白分隔@@
想請教一下VBA的寫法, 我只會去抓特定行數, 因為此txt檔案每個行數都不會一樣, 所以想請教一下板上的大大們orz
作者:
GBKEE
時間:
2013-7-22 17:39
本帖最後由 GBKEE 於 2013-7-22 18:24 編輯
回復
1#
ilikeiceblue
如何抓取多個檔案連續匯入,可搜討論區尋看看.
Sub Ex_匯入文字檔()
Dim Fs As Object, d, s, i As Integer, ii As Integer
txt = "d:\TEST\TEST.TXT" '文字檔目錄
Set Fs = CreateObject("Scripting.FileSystemObject").OpenTextFile(txt, 1)
d = Split(Fs.readall, Chr(10)) 'Chr(10) 分割為陣列
Fs.Close '關閉文字檔
With ActiveSheet
.Cells.Clear '清除所有資料
For i = 1 To UBound(d) '陣列的第2元素開始
If Len(d(i)) = 0 Or i = UBound(d) Then 'Len(d(i)) = 0->空白列(要的是上一個元素)
s = d(IIf(i < UBound(d), i - 1, i)) 'i = UBound(d) ->陣列的最後元素
s = Split(s, " ") '" " 分割為陣列
'61566.1459848279 36804.0605 7070 62 此字串以兩空格分隔
ii = Application.CountA(.[a:a]) '計算A欄的資料數
ii = IIf(ii = 0, i, ii + 1) '沒有=第1列,有資料須往下一列
.Cells(ii, "a").Resize(1, UBound(s) + 1) = s
End If
Next
End With
End Sub
複製代碼
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)