将多个Excel工作簿合并到一个Excel工作簿中

问题1:大量?Excel工作簿?工作表?

可以说,一个Excel表就是一个Excel工作簿,而一个工作簿中可以包含多个工作表(即sheet1, sheet2,等)

合并步骤:

1. 将需要合并的工作簿全部放在同一个文件夹下面;

2. 新建一个工作簿,如merge,其他工作簿将被合并到这个工作簿中。

3. 开打merge, 点击开发工具 >> Visual Basic >> 插入 >> 模块,将下面的代码输入模块窗口中
4. 点击运行!!

Sub GetSheets()
 Path = "C:\Users\Lenovo\Desktop\tt\"   
 Filename = Dir(Path & "test*.xls") 
 Do While Filename <> ""
 Workbooks.Open Filename:=Path & Filename, ReadOnly:=True
 For Each Sheet In ActiveWorkbook.Sheets
 Sheet.Copy After:=ThisWorkbook.Sheets(1)
 Next Sheet
 Workbooks(Filename).Close
 Filename = Dir()
 Loop
 End Sub
  1. 提示:
  2. 在上面的代码里,你可以将目录路径更换成你自己使用的路径,tt是文件夹,后面加 ’ \ ’ 。
    Path = C:\Users\Lenovo\Desktop\tt\
    以通配符替换到需要合并的文件的文件名;
    Filename = Dir(Path & “test*.xls”)
  3. 然后点击 运行 按钮运行代码,工作簿里的全部工作表(包括空白工作表)都将被合并到主工作簿里。
  4. 注意:
    这个VBA 代码能将整个工作簿合并到主工作簿中,但是不能 针对指定的工作表进行合并。
    VBA的模块对话框
    文件夹及位置

问题2:少量合并的方法

1. 将需要合并的工作簿全部打开,否则下一步是检测不到的。
2. 选择其中一个工作簿,在左下角的sheet中点击 右键 >> 移动和复制 >> 选择目标工作簿即可
在这里插入图片描述

问题3:将一个工作簿中的多个工作表sheet合并到一个里面

1. 在当前工作簿中新添加一个sheet。
2. 点击 开发工具 >> Visual Basic >> 插入 >> 模块,将下面的代码输入模块窗口中

Sub 合并当前工作簿下的所有工作表()
Application.ScreenUpdating = False
For j = 1 To Sheets.Count
If Sheets(j).Name <> ActiveSheet.Name Then
X = Range("A65536").End(xlUp).Row + 1
Sheets(j).UsedRange.Copy Cells(X, 1)
End If
Next
Range("A1").Select
Application.ScreenUpdating = True
MsgBox "当前工作簿下的全部工作表已经合并完毕!", vbInformation, "提示"
End Sub

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大雨海深

感谢您的支持和鼓励

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值