標題:
[發問]
請問如何自動匯入外部資料
[打印本頁]
作者:
sandra_wang
時間:
2011-10-5 15:27
標題:
請問如何自動匯入外部資料
想請教大家Excel如何自動匯入外部資料的相關問題...
目前每天都會有固定的檔案需要匯入到Excel不同的Sheet
但是每天的檔名都有加上日期,所以檔名會隨著日期改變,
想請問大家如何讓Excel自動匯入這些檔案到指定的Sheet?
例如:
[attach]8097[/attach][attach]8097[/attach]9月17日,我必須將檔名
"F03-MB-1_0916_103051.log"的檔案內容匯入到Excel的"MB-1" sheet
"F03-MB-2_0916_103051.log"的檔案內容匯入到Excel的"MB-2" sheet
"F03-MB-3_0916_103051.log"的檔案內容匯入到Excel的"MB-3" sheet
"F03-MB-4_0916_103051.log"的檔案內容匯入到Excel的"MB-4" sheet
"F03-MB-5_0916_103051.log"的檔案內容匯入到Excel的"MB-5" sheet
"F03-MB-6_0916_103051.log"的檔案內容匯入到Excel的"MB-6" sheet
....總共有50個檔案要匯入到50個sheet (若當天缺少檔案,則該sheet內容為空白)
9月18日,我必須將檔名
"F03-MB-1_0917_103051.log"的檔案內容匯入到Excel的"MB-1" sheet
"F03-MB-2_0917_103051.log"的檔案內容匯入到Excel的"MB-2" sheet
"F03-MB-3_0917_103051.log"的檔案內容匯入到Excel的"MB-3" sheet
"F03-MB-4_0917_103051.log"的檔案內容匯入到Excel的"MB-4" sheet
"F03-MB-5_0917_103051.log"的檔案內容匯入到Excel的"MB-5" sheet
"F03-MB-6_0917_103051.log"的檔案內容匯入到Excel的"MB-6" sheet
....總共有50個檔案要匯入到50個sheet (若當天缺少檔案,則該sheet內容為空白)
[attach]8097[/attach]
作者:
GBKEE
時間:
2011-10-6 15:29
回復
1#
sandra_wang
試試看
Sub 匯入文字檔_Ex()
Dim MyPath As String, TheDate As String, TheFile As String, ShName As String, Mystr As String, Rng As Range, E As Variant
MyPath = ThisWorkbook.Path & "\" '文字檔所在的目錄
TheDate = Format(Date - 1, "mm/dd") '取的日期
On Error Resume Next 'DIR 找不到檔案會產生錯誤
TheFile = Dir(MyPath & "*MB-*" & TheDate & "*.log") '尋找檔案
If Err.Number > 0 Then MsgBox "找不到 " & TheDate & " 檔案": Exit Sub
Do While TheFile <> ""
On Error GoTo ShAdd '工作表中沒有 ShName會產生錯誤
ShName = Mid(TheFile, InStr(TheFile, "MB-"), InStr(TheFile, "_") - InStr(TheFile, "MB-"))
Set Rng = Sheets(ShName).Cells(Rows.Count, "A").End(xlUp)
If Rng <> "" Then Set Rng = Rng.Offset(1)
Open MyPath & TheFile For Input As #1 '開啟文字檔
Do While Not EOF(1) '不是檔案底部時 執行迴圈
Input #1, Mystr '從已開啟的循序讀取資料,並將資料指定給變數。->mystr
For Each E In Split(Mystr, Chr(10))
Rng = E
Set Rng = Rng.Offset(1)
Next
Loop
Close #1 '關閉文字檔
TheFile = Dir
Loop
Exit Sub
ShAdd:
ThisWorkbook.Sheets.Add.Name = ShName
Err.Clear
Resume
End Sub
複製代碼
作者:
jackie-ap
時間:
2011-10-6 21:07
第4行錯誤 TheDate = Format(Date - 1, "mm/dd")
應該是TheDate = Format(Date - 1, "mmdd")
作者:
GBKEE
時間:
2011-10-7 14:32
回復
3#
jackie-ap
謝謝指正
作者:
sandra_wang
時間:
2011-10-11 14:13
本帖最後由 sandra_wang 於 2011-10-11 14:14 編輯
[attach]8209[/attach]
我把資料放在桌面的SEL資料裡面上,
第三行的路徑是填入 C:\Documents and Settings\97051909\桌面\SEL
剛剛試過了,但是會出現"找不到1010檔案"
可以請大家幫我看看哪裡弄錯嗎?
作者:
GBKEE
時間:
2011-10-11 14:18
回復
5#
sandra_wang
C:\Documents and Settings\97051909\桌面\SEL
\
你有加上嗎?
作者:
sandra_wang
時間:
2011-10-12 13:10
本帖最後由 sandra_wang 於 2011-10-12 13:43 編輯
可以了~~感謝版主!!
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)