同一文件夹下分散着多个部门的人员信息表,需要手动将它们一一打开并复制粘贴到一个新的工作簿中?

这样的操作不仅繁琐,还容易出错。现在,我们为你提供一个解决方案,实现一键合并所有部门的数据。

如何一键合并1万个Excel文件,这个方法秒合!-趣帮office教程网

先看效果图:

如何一键合并1万个Excel文件,这个方法秒合!-趣帮office教程网

只需点击一个按钮,所有部门的数据就会自动读取并合并到一个工作簿中,无需手动操作。

操作步骤

一、制作合并按钮

1、在Excel的“插入”选项卡中,选择“形状”按钮。

2、从弹出的形状菜单中,选择一个你喜欢的按钮形状,如圆角矩形。

3、在工作表上拖动鼠标,绘制出合适大小和位置的按钮。

如何一键合并1万个Excel文件,这个方法秒合!-趣帮office教程网

4、使用“形状格式”选项卡中的工具,调整按钮的外观,如填充颜色、线条颜色、阴影效果等。

5、右键点击按钮,选择“添加文本”,然后输入按钮文本,如“合并数据”。

如何一键合并1万个Excel文件,这个方法秒合!-趣帮office教程网

二、录入VBA代码

1、在Excel的“开发工具”选项卡中,点击“Visual Basic”按钮,打开VBA编辑器。

如何一键合并1万个Excel文件,这个方法秒合!-趣帮office教程网

2、在VBA编辑器的左侧窗格中,找到并右击“Sheet1”,在弹出的右键菜单中选择“插入” > “模块”。

如何一键合并1万个Excel文件,这个方法秒合!-趣帮office教程网

3、双击新创建的模块,输入以下VBA代码:

如何一键合并1万个Excel文件,这个方法秒合!-趣帮office教程网

如何一键合并1万个Excel文件,这个方法秒合!-趣帮office教程网

4、保存并关闭VBA编辑器

我把代码放在下面,你可以直接拷贝就可以用。

Sub 合并数据()

Set conn = CreateObject("adodb.connection")

Range("A2:M" & Rows.Count).ClearContents

p = ThisWorkbook.Path & ""

f = Dir(p & "*.xlsx")

Do While f <> ""

conn.Open "provider= microsoft.ace.oledb.12.0;" & _

"extended properties=excel 8.0;data source=" & p & f

Sql = "select * from [sheet1$]"

rw = Cells(Rows.Count, 1).End(3).Row 1

Range("A" & rw).CopyFromRecordset conn.Execute(Sql)

conn.Close

f = Dir

Loop

Set conn = Nothing

End Sub

Sub 清除数据()

Range("A2:M" & Rows.Count).ClearContents

End Sub

三、连接按钮与代码

1、右键点击你创建的“合并数据”按钮,选择“指定宏”。

如何一键合并1万个Excel文件,这个方法秒合!-趣帮office教程网

2、在弹出的对话框中,选择“合并数据”宏,然后点击“确定”。

如何一键合并1万个Excel文件,这个方法秒合!-趣帮office教程网

现在,你已经完成了所有设置。只需点击“合并数据”按钮,Excel就会自动读取同一文件夹下的所有Excel文件,并将它们的数据合并到当前工作簿中。

注意

  • 请确保所有要合并的Excel文件都位于同一文件夹下,并且文件名不含有特殊字符。
  • 本示例假设所有数据都位于名为“Sheet1”的工作表中。如果你的数据位于其他工作表,请相应地修改SQL查询中的工作表名称。

希望这个解决方案能为你节省时间和精力,提高工作效率!