Board logo

標題: 多個TXT檔如下列格式匯入EXCEL [打印本頁]

作者: m06o2    時間: 2012-1-27 17:48     標題: 多個TXT檔如下列格式匯入EXCEL

本帖最後由 m06o2 於 2012-1-27 17:51 編輯

有多個TXT檔如附件內容要將資料匯入EXCEL中
但一直不知道如何用VBA將資料方式彙整出來
[attach]9318[/attach]
作者: Hsieh    時間: 2012-1-27 21:41

回復 1# m06o2

你的共用key是指哪個資料的值?
先以檔案名稱替代
  1. Sub ex()
  2. Dim Ay(18), Ary()
  3. fd = ThisWorkbook.Path & "\"
  4. fs = Dir(fd & "\*.txt")
  5. Do Until fs = ""
  6. Open fd & fs For Input As #1
  7. Ay(0) = fd: Ay(1) = Replace(fs, ".txt", "")
  8. Do While Not EOF(1)
  9.    Line Input #1, mystr
  10.    If mystr <> "" Then
  11.    ar = Split(mystr, " ")
  12.    If InStr(mystr, "日期") > 0 Then
  13.    Ay(2) = ar(1): Ay(3) = ar(2) & " " & ar(3)
  14.    ElseIf InStr(mystr, "縣市") > 0 Then
  15.    Ay(4) = ar(1)
  16.    ElseIf InStr(mystr, "路名") > 0 Then
  17.    Ay(5) = ar(1)
  18.    ElseIf InStr(mystr, "車行方向") > 0 Then
  19.    Ay(6) = ar(1)
  20.    ElseIf InStr(mystr, "車道") > 0 Then
  21.    Ay(7) = ar(1)
  22.    ElseIf InStr(mystr, "鋪面類型") > 0 Then
  23.    Ay(8) = ar(1)
  24.    ElseIf InStr(mystr, "測試次數") > 0 Then
  25.    Ay(9) = ar(1)
  26.    ElseIf InStr(mystr, "氣溫") > 0 Then
  27.    Ay(10) = ar(1)
  28.    ElseIf InStr(mystr, "雲量") > 0 Then
  29.    Ay(11) = ar(1)
  30.    ElseIf InStr(mystr, "風速") > 0 Then
  31.    Ay(12) = ar(1)
  32.    ElseIf InStr(mystr, "風向") > 0 Then
  33.    Ay(13) = ar(1)
  34.    ElseIf InStr(mystr, "檢測人員") > 0 Then
  35.    Ay(14) = ar(1)
  36.    ElseIf InStr(mystr, "備註") > 0 Then
  37.    Ay(15) = ar(1)
  38.    Else
  39.    Ay(16) = ar(0): Ay(17) = ar(1)
  40.    ReDim Preserve Ary(s)
  41.    Ary(s) = Ay
  42.    s = s + 1
  43.    End If
  44.    
  45.    End If
  46. Loop
  47. Close #1
  48. fs = Dir
  49. Loop
  50. [A65536].End(xlUp).Offset(1).Resize(s, 18) = Application.Transpose(Application.Transpose(Ary))
  51. End Sub
複製代碼

作者: m06o2    時間: 2012-1-27 22:19

回復 2# Hsieh
沒錯是檔案名稱  
我按執行他都告知我執行階段錯誤 52
不正確的檔案名稱或數目  好奇怪
作者: Hsieh    時間: 2012-1-27 22:39

回復 3# m06o2


    這個程式前提是txt檔案,與xls檔案放在同一個資料夾
且txt檔的格式都必須與你上傳的檔案格式相同
作者: m06o2    時間: 2012-1-27 23:05

回復 4# Hsieh
成功了.............我要好好練習了   感謝大大   
容我在發問一個問題.....那如果.....我的檔案存放的方式是

A檔案夾裡面有1.2.3.4.5.6.7.8.9.10個資料夾 每個資料夾裡面有有1.1 1.2 1.3 類推  在很深沉的資料夾中才有這個TXT檔,那我要如何改變程式碼讓他去自動讀取呢!?
作者: Hsieh    時間: 2012-1-27 23:20

回復 5# m06o2
參考此連結
檔案操作範例
作者: m06o2    時間: 2012-1-27 23:57

回復 6# Hsieh
感謝!!!!!!!




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)