同一文件夹下分散着多个部门的人员信息表,需要手动将它们一一打开并复制粘贴到一个新的工作簿中?
这样的操作不仅繁琐,还容易出错。现在,我们为你提供一个解决方案,实现一键合并所有部门的数据。
先看效果图:
只需点击一个按钮,所有部门的数据就会自动读取并合并到一个工作簿中,无需手动操作。
操作步骤:
一、制作合并按钮
1、在Excel的“插入”选项卡中,选择“形状”按钮。
2、从弹出的形状菜单中,选择一个你喜欢的按钮形状,如圆角矩形。
3、在工作表上拖动鼠标,绘制出合适大小和位置的按钮。
4、使用“形状格式”选项卡中的工具,调整按钮的外观,如填充颜色、线条颜色、阴影效果等。
5、右键点击按钮,选择“添加文本”,然后输入按钮文本,如“合并数据”。
二、录入VBA代码
1、在Excel的“开发工具”选项卡中,点击“Visual Basic”按钮,打开VBA编辑器。
2、在VBA编辑器的左侧窗格中,找到并右击“Sheet1”,在弹出的右键菜单中选择“插入” > “模块”。
3、双击新创建的模块,输入以下VBA代码:
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、右键点击你创建的“合并数据”按钮,选择“指定宏”。
2、在弹出的对话框中,选择“合并数据”宏,然后点击“确定”。
现在,你已经完成了所有设置。只需点击“合并数据”按钮,Excel就会自动读取同一文件夹下的所有Excel文件,并将它们的数据合并到当前工作簿中。
注意:
- 请确保所有要合并的Excel文件都位于同一文件夹下,并且文件名不含有特殊字符。
- 本示例假设所有数据都位于名为“Sheet1”的工作表中。如果你的数据位于其他工作表,请相应地修改SQL查询中的工作表名称。
希望这个解决方案能为你节省时间和精力,提高工作效率!
评论 (0)