下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、快速合并多个Excel工作簿到一个新的工作簿 如果你有大量Excel工作簿需要合并到一起时,要是你手动完成这一工作,也许这个工作可能将花费你一整天的时间。其实要完成这类合并工作,最好的方法是使用宏,这样的话短时间内甚至只需几分钟便可完成。本文所介绍的技巧将向你说明如何创建这样一个宏,看看如何使用宏来节省你的宝贵时间。此技巧可以应用于Microsoft Excel 2003/2007/2010/2013等版本,只是在弹出VBA代码窗口(Microsoft Visual Basic窗口、Microsoft Visual Basic for Applications窗口)时会因Excel版本不同而有
2、所差异。 此方法支持:被合并的扩展名为“.xls”和“.xlsx”的工作簿、合并中可多次选择不同文件夹下的工作簿。 将需要合并的excel工作簿文件放置在一个文件夹中以便于选择(如果放于不同文件下,则需要在提示“是否继续添加其他文件夹中的Excel工作簿文件?”时选择“是”),这些工作簿总数适宜100个左右或以下,不要求工作簿中只包含一个单独的工作表,允许部分工作簿包含多个工作表(以电脑配置或者说电脑可用资源为上限,没有固定的值,如果处理过多时excel没有响应或电脑假死甚至死机时,请减少待合并工作簿的数量),建议在合并前删除待合并的工作簿中的空工作表。 在该文件夹中,新建立一个新的Excel
3、工作簿文件。打开新建的Excel工作簿文件,按Alt+F11或者将鼠标移动到下方工作表名称sheet1上右键,选择查看代码。 在弹出的代码编辑窗口中(如下图)粘贴以下代码(如果没有出现直接复制代码的面板等时,需要按Ctrl+R或点菜单栏中“视图”中的“工程资源管理器”,再双击出现在左上方的“工程 VBAProject”中的“Sheet1”,即可打开代码窗口;宏代码应粘贴到除ThisworkBook外的工作表中):Sub CombineWorkbooks() Source code from the Internet for free Daxin CPA Guangdong Branch Hoo
4、hurtle modified on July 27, 2014 Dim FilesToOpen Dim x As Integer On Error GoTo ErrHandler Application.ScreenUpdating = FalseExtension1: FilesToOpen = Application.GetOpenFilename(FileFilter:=Microsoft Excel 97-2003工作簿文件(*.xls),*.xls, MultiSelect:=True, Title:=请选择待合并的工作簿文件) If TypeName(FilesToOpen) =
5、 Boolean Then MsgBox 没有选中Excel 97-2003工作簿文件 GoTo Extension2 End If x = 1 While x = UBound(FilesToOpen) Workbooks.Open Filename:=FilesToOpen(x) Sheets().Move After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count) x = x + 1 Wend Extension2: FilesToOpen = Application.GetOpenFilename(FileFilter:=Microsof
6、t Excel工作簿文件(*.xlsx),*.xlsx, MultiSelect:=True, Title:=请选择待合并的工作簿文件) If TypeName(FilesToOpen) = Boolean Then MsgBox 没有选中Excel工作簿文件 GoTo Continue End If x = 1 While x = UBound(FilesToOpen) Workbooks.Open Filename:=FilesToOpen(x) Sheets().Move After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count) x =
7、x + 1 Wend Continue: Dim Msg$, Style&, Title$, Continue& Msg = 是否继续添加其他文件夹中的Excel工作簿文件? Style = vbYesNo + vbDefaultButton2 Title = 是否继续添加其他工作簿 Continue = MsgBox(Msg, Style, Title) If Continue = vbYes Then GoTo Extension1 Else GoTo Over End IfOver:ExitHandler: Application.ScreenUpdating = True Exit S
8、ubErrHandler: MsgBox Err.Description Resume ExitHandlerEnd Sub 接着按F5或点菜单栏中“运行”中的“运行子过程/窗体”(或“运行子过程/用户窗体”,因Excel版本不同而出现差异),此时会提示你选择要合并的文件(此时你可以通过按下Ctrl键单击的方法选择多个工作簿,或按“Ctrl + A”选择全部工作簿),它会使用代码在你所选择的工作簿列表中循环,打开每个工作簿并将其中的工作表移动到工作簿的末尾。在将工作表添加到工作簿末尾的过程中,Excel会复制工作表的名称并自动根据检测结果附加(2)、(3)等数字编号。工作簿中与其他工作表相关的任何公式也会自动更新的新的名称。 然后将“代码编辑窗口”中的代码清空(以免产生宏安全提示),并将合并后得到的工作秒簿保存即可。 请考虑Excel兼容性问题,尽量在Office2007以上版本的Excel中操作,如果在Excel2003中操作时,必要时请安装“OFFICE2003兼容2007的补丁包”(FileFormatConverters.exe版
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 门面合同范本转让
- 设计订金合同范本
- 防止出轨合同范本
- 2017售房合同范本
- 锂电池安全使用
- 犬狂犬病病例
- 店员工合同范本
- 计量经济学案例
- 有授信额度的借款合同范本
- 《Lnc23对牛骨骼肌卫星细胞成肌分化的作用及调控机制研究》
- 安全风险评价风险矩阵法L-S、LEC法
- 第九版外科学课件泌尿系统损伤
- 2019年度第四次经济普查项目绩效自评表
- 污水处理池 (有限空间)作业安全告知牌及警示标志
- 三年级下册信息技术课件-3.争当打字小能手|人教版 (共12张PPT)
- 一年级上册音乐教案- 第十一课 郊游|湘艺版
- 某物业供水系统水泵PLC控制设计
- 中央电视台公益广告30年大盘点
- 软件系统售后服务范围及内容
- 化工设备使用与维护8第八章储存设备的使用与维护课件
- 2022年北京市朝阳区白家庄小学五上期中数学试卷
评论
0/150
提交评论