Board logo

標題: 如何讀取多數EXCEL檔案中同一列or行的數據並進行分析 [打印本頁]

作者: shauefu    時間: 2015-1-21 16:02     標題: 如何讀取多數EXCEL檔案中同一列or行的數據並進行分析

各位先進好,小弟之前研習過C++程式,因為對於VBA倍感親切;先前藉由"錄製巨集"土法煉鋼的學習,不過礙於很多指令名稱不熟悉,又苦無途徑入門,所以想在此和大家請教:

我想要設定一個巨集可以跳出視窗指定資料夾,並把資料夾內所有EXCEL檔案中同一列或是同一行的數據整理到新的活頁簿中:
資料夾內檔案是有規律性的,P.S "ABCDE-Eng-ABC123.1-01.XLS" , "ABCDE-Eng-ABC123.1-02.XLS" , "ABCDE-Eng-ABC123.1-03.XLS" .......數量不一

請問要用甚麼指令在VBA中實現呢?
謝謝∼
作者: hugh0620    時間: 2015-1-21 17:35

本帖最後由 hugh0620 於 2015-1-21 17:37 編輯

回復 1# shauefu

VBA,分段落寫:
1.  先寫出如何指定資料夾
2.  讀取其中一個EXCEL中的資料
     下面範例式指定資料夾其中一個excel將資料貼到目標excel中
  1. Private Sub CommandButton2_Click() '匯出資料
  2. Application.ScreenUpdating = False

  3. patch = Application.GetOpenFilename("Microsoft Excel 活頁簿 (*.xls), *.xls")    '點選檔案

  4. If patch = False Then
  5.     Exit Sub
  6. Else
  7.      Workbooks.Open (patch)                                                      '開啟檔案
  8.     '匯入新舊資料
  9.     ActiveWorkbook.Sheets(2).Select
  10.     Sheets(2).Range("A3:M3").Select
  11.     Sheets(2).Range(Selection, Selection.End(xlDown)).Copy ThisWorkbook.Worksheets.Item(4).Range("A1").End(xlDown).Offset(1, 0)
  12.     ActiveWorkbook.Close 0
  13. End If
  14. Application.ScreenUpdating = True
  15. End Sub
複製代碼
3.  最後,run整個資料夾中的excel,讀取每一個excel特定位置的資料。
      下面式案例針對同一個excel中sheet的刪除,用相同的方式可以跑每一個excel檔
  1. Private Sub CommandButton2_Click() '刪除
  2.     Dim Sh As Worksheet
  3.     Application.DisplayAlerts = False
  4.     For Each Sh In Sheets
  5.         If Sh.Name <> "Data匯整" And Sh.Name <> "原始Data" Then Sh.Delete
  6.     Next
  7.     Application.DisplayAlerts = True
  8. End Sub
複製代碼

作者: shauefu    時間: 2015-1-22 13:25

感謝回覆,我會研究看看,感激不盡!




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