VB合并excel表格(工作表和工作簿)

您所在的位置:网站首页 多个excel文件合并打印 VB合并excel表格(工作表和工作簿)

VB合并excel表格(工作表和工作簿)

2024-07-11 06:19| 来源: 网络整理| 查看: 265

作者:提姆葉yezhongli 链接:https://www.zhihu.com/question/298117231/answer/1240632641 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

关于表格合并,一般会有3种情况: (p.s:请注意工作簿跟工作表的区别)

将一个 Excel 工作簿中的多个工作表合并成一个工作表将多个 Excel 工作簿合并成一个工作簿将多个 Excel 工作簿的工作表合并成一个工作表 下面分别根据3种情况进行详细的步骤说明,请读者根据自己的需要取用: 一、将一个 Excel 工作簿中的多个工作表合并成一个工作表

1、新建一个Excel工作薄,工作簿名称任你定义 。2、打开此工作薄,将其中一个Sheet重命名为"汇总"。 3、在其下任一个工作表标签上点击右键,选择“查看代码”。 4、在打开的VBA编辑窗口中粘贴以下代码:

Sub 合并工作簿内的多个Sheet到同一个Sheet() Dim i, j As Integer 'i是数据源表的最后一行,j是目标表(数据表)的最后一行 Dim sht As Worksheet Application.ScreenUpdating = False '关闭屏幕刷新 '先要删除所有数据 Sheets("汇总").Range("a1:z65536").ClearContents '复制数据 For Each sht In Sheets If sht.Name "汇总" Then i = sht.Range("d65536").End(xlUp).Row j = Sheets("汇总").Range("d65536").End(xlUp).Row sht.Range("a1:z" & i).Copy Sheets("汇总").Range("a" & j + 1) End If Next MsgBox "执行完毕!" Application.ScreenUpdating = True '打开屏幕刷新 End Sub

5、关闭VBA编辑窗口。 6、在excel中,工具—宏---宏,选“合并工作簿的各个sheet到同一个sheet”,然后“执行”。 7、等待…ok!

二、将多个 Excel 工作簿合并成一个工作簿

1、新建一个工作薄,将其命名为你合并后的名字。 2、打开此工作薄。 3、在其下任一个工作表标签上点击右键,选择“查看代码”。 4、在打开的VBA编辑窗口中粘贴以下代码:

Sub 工作薄间工作表合并() Dim FileOpen Dim X As Integer Application.ScreenUpdating = False FileOpen = Application.GetOpenFilename(FileFilter:="Microsoft Excel文件(*.xls*),*.xls*", MultiSelect:=True, Title:="合并工作薄") X = 1 While X 0 Then irow = sht.Range("A65536").End(xlUp).Row irow1 = ThisWorkbook.Sheets("汇总").Range("A65536").End(xlUp).Row + 1 sht.Range("a1:z" & irow).Copy ThisWorkbook.Sheets("汇总").Range("a" & irow1) wb.Close False '关闭工作簿并且不保存 End If Next Next End If MsgBox "执行完毕!" Application.ScreenUpdating = True '打开屏幕刷新 End Sub

5、指定要合并的Sheet。对“If InStr(sht.Name, “费用”) > 0 Then”这段代码中的"费用"修改,比如修改成"经销商",则包含“经销商”几个文字的都会纳入合并 6、关闭VBA编辑窗口。 7、在excel中,工具—宏---宏,选“多文件合并能够自由选择文件夹”,然后“执行”。 8、在打开的对话窗口中,选择你要合并的几个工作薄文件。 9、等待。。。。ok!



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3