Board logo

標題: [發問] 不同檔案資料彙整 [打印本頁]

作者: 0939875756    時間: 2010-12-1 13:34     標題: 不同檔案資料彙整

請問excel有辦法做,不同檔案資料彙整嗎??
例:我的一個excel檔案名稱為10月,另外有一個資料夾(資料夾名稱為10月)裡有500個EXCEL檔案,檔案名稱為001~500,請問有辦法把10月資料夾裡的檔案,
分別把AP7、AP10、AP12、G7、G12這5個欄位分別彙整到10月這個檔案裡的A2、B2、C2、D2、E2嗎???
[attach]3860[/attach]
[attach]3861[/attach]
作者: et5323    時間: 2010-12-1 16:39

本帖最後由 et5323 於 2010-12-1 16:42 編輯

速度有点慢!
由于两岸系统的差异,With .Sheets("模製")中"模製"两个字你要在VBE中重新输一遍:
[attach]3864[/attach]
作者: Hsieh    時間: 2010-12-1 16:54

回復 1# 0939875756
  1. Sub ex()
  2. Dim Ar(), fd$, fs$, s%
  3. fd = "D:\10月\" '更改成你的10月資料夾目錄
  4. fs = Dir(fd & "*.xls")
  5. Do Until fs = ""
  6. With Workbooks.Open(fd & fs)
  7.    With .Sheets("模製")
  8.    ReDim Preserve Ar(s)
  9.       Ar(s) = Array(.[AP7].Value, .[AP10].Value, .[AP12].Value, .[G7].Value, .[G12].Value)
  10.       s = s + 1
  11.    End With
  12.    .Close 0
  13. End With
  14. fs = Dir
  15. Loop
  16. [A2].Resize(s, 5).Value = Application.Transpose(Application.Transpose(Ar))
  17. End Sub
複製代碼

作者: 0939875756    時間: 2010-12-2 11:56

回復 3# Hsieh

回Hsieh大大,我直接用您撰寫的vba,修改一些資料,結果出現執行階段錯誤
[attach]3878[/attach]
然後我按下偵錯就出現下圖
[attach]3879[/attach]
請問這是什麼原因呢??
作者: Hsieh    時間: 2010-12-2 13:36

fd變數最後面少了\
"C:\Document and Setting\E\桌面\報告檔\"
作者: joeron    時間: 2012-1-3 07:54

這個剛好是我所想找的範本,謝謝Hsieh老師

感覺在您身上學習不少..
作者: homeman    時間: 2012-2-5 01:46

真是一個 smart 的做法, 要是我也是一個一個檔案做匯入的動作.. Thanks, Hsieh
作者: b9208    時間: 2012-2-5 08:45

非常感謝Hsieh大大
這也是常用的處理檔案
所以要經常來論壇報到
作者: hugh0620    時間: 2012-3-2 12:34

回復 3# Hsieh


    H大大~
   若使用Application.FileDialog(msoFileDialogFolderPicker)
   是不是更符合使用者操作~
   就不會被設定死資料夾的路徑~
作者: smooth131    時間: 2012-3-4 20:57

H版超強,我之前寫過類似的code不過我寫得超長~~~哈哈!
那我就不在這邊丟人現眼了,不過私人有一個小小的想法
如果用  ThisWorkbook.Path  來讀取檔案路徑的話會不會好一點?
因為excel的檔案常常被copy來copy去,這樣無論檔案被copy到哪裡
都可以正常使用

前題是放在同一個資料夾啦~~:D




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