失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 批量提取多个Excel文件内指定单元格的数据(文件名和数据)

批量提取多个Excel文件内指定单元格的数据(文件名和数据)

时间:2020-11-15 05:13:10

相关推荐

批量提取多个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表格自动生成数据,如下:

AB 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")

如果原数据表的单元格和目标单元格有规律,可以用循环语句解决。

如果觉得《批量提取多个Excel文件内指定单元格的数据(文件名和数据)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。