设置主页 | 收藏本站 Excel学习网-公益型的EXCEL在线学习网站,助您轻松办公!

Excel VBA(11)—合并个人简历到同一工作表

2020年09月21日 18:38 发布来源:Excel学习网

如何将不同工作薄中某工作表A1单元格数据都汇总在同一工作表中?

韩老师用合并几个个人简历工作薄来说明这个问题。

如下图,在一个文件中有四个个人简历工作薄:

Excel | VBA(11)—合并个人简历到同一工作表

 

每个工作薄中的数据如下图:

Excel | VBA(11)—合并个人简历到同一工作表

 

汇总的结果如下:

Excel | VBA(11)—合并个人简历到同一工作表

 

VBA实现

在同一文件夹下新建一工作薄,在VBA代码窗口中输入如下代码:

Sub 汇总()
Application.ScreenUpdating = FalseDim irow&, Filename$, fn$
Dim wb As Workbook, sht As Worksheet
Sheet1.UsedRange.ClearContents '清除当前区域
Sheet1.Cells(1, 1).Value = "姓名"
Sheet1.Cells(1, 2).Value = "性别"
Sheet1.Cells(1, 3).Value = "年龄"
Sheet1.Cells(1, 4).Value = "籍贯"
irow = Sheets(1).Range("A1048576").End(xlUp).Row '当前区域最后一行
Filename = Dir(ThisWorkbook.Path & "\*.xlsx")
Do While Filename <> ""
If Filename <> ThisWorkbook.Name Then fn = ThisWorkbook.Path & "\" & Filename
Set wb = GetObject(fn)
Set sht = wb.Worksheets(1)
ThisWorkbook.Sheets(1).Cells(irow + 1, 1) = sht.Cells(2, 2).Value
ThisWorkbook.Sheets(1).Cells(irow + 1, 2) = sht.Cells(2, 4).Value
ThisWorkbook.Sheets(1).Cells(irow + 1, 3) = sht.Cells(2, 6).Value
ThisWorkbook.Sheets(1).Cells(irow + 1, 4) = sht.Cells(3, 2).Value
wb.Close False irow = irow + 1
End If Filename = DirLoopApplication.ScreenUpdating = TrueEnd Sub

如下图:

Excel | VBA(11)—合并个人简历到同一工作表

 

即可实现。

原创文章如转载请注明:转载自Excel学习网 [ http://www.excelxx.com/]
需要保留本文链接地址:http://www.excelxx.com/jiqiao/12838.html
分享到:
网站地图 | XML地图 | 免责声明 | 关于我们 | Excel学习网:优秀的EXCEL在线学习和资源分享网站。
版权所有: CopyRight © 2013-2018 www.excelcn.com All Rights Reserved.
豫ICP备12002644号