批量提取多個Excel文件內指定單元格的數據(文件名和數據)

批量提取多個Excel文件內指定單元格的數據(文件名和數據)

例如收集了excel表格統一格式的個人簡歷,從中抽取個人基本信息,生成數據表。
將源數據excel文件放在同一個文件夾下。
新建一個shouji.xls也放在該文件夾下。

原表格數據
1.xls
---------------
   A     B
3 60    101
---------------
2.xls
3.xls

打開shouji.xls,按住Alt+F11進入宏界面,點擊菜單的插入->模塊,在代碼窗口粘貼如下代碼:
VBA代碼如下:
-----------------------------
Sub find()
 Application.ScreenUpdating = False
 Dim Mydir As String
 Dim i As Integer
 i = 2
 Mydir = ThisWorkbook.Path & "\"
 ChDrive Left(Mydir, 1)
 ChDir Mydir
 Match = Dir$("*.xls")
 Do
 If Not LCase(Match) = LCase(ThisWorkbook.Name) Then
 Workbooks.Open Match, 0, 1
 ThisWorkbook.ActiveSheet.Range("A" & i) = Match
 ThisWorkbook.ActiveSheet.Range("B" & i) = ActiveWorkbook.Sheets("Sheet1").Range("A3")
 ThisWorkbook.ActiveSheet.Range("C" & i) = ActiveWorkbook.Sheets("Sheet1").Range("B3")
 ActiveWorkbook.Close 0
 i = i + 1
 End If
 Match = Dir$
 Loop Until Len(Match) = 0
 Application.ScreenUpdating = True
End Sub
----------------------------------------------
F5運行宏
在shouji.xls表格自動生成數據,如下:
      A          B         C
2    1.xls    60    101
3    2.xls    70    130
4    3.xls    80    100

-----------------------------------
如果需要採集A3、B3的其他單元格數據,可以繼續添加代碼:
ThisWorkbook.ActiveSheet.Range("X" & i) = ActiveWorkbook.Sheets("Sheet1").Range("X3")
如果原數據表的單元格和目標單元格有規律,可以用循環語句解決。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章