用VBA合并Excel工作簿
更新时间:2023-11-03 14:40:02 阅读量: 综合文库 文档下载
有许多实现Excel工作簿合并的方法,在《将多个工作簿中的数据合并到一个工作簿》中介绍过
例如,需要将多个Excel工作簿中的工作表合并到一个工作簿。这里假设需要合并的工作簿在“D:\\示例
Sub CombineWorkbooks( Dim strFileName As String Dim wb As Workbook Dim ws As Object
'包含工作簿的文件夹,可根据实际修改 Const strFileDir As String = \示例\\数据记录\\\Application.ScreenUpdating = False Set wb = Workbooks.Add(xlWorksheet strFileName = Dir(strFileDir & \Do While strFileName <> vbNullString Dim wbOrig As Workbook
Set wbOrig = Workbooks.Open(Filename:=strFileDir & strFileName, ReadOnly:=True
strFileName = Left(Left(strFileName, Len(strFileName - 4, 29 For Each ws In wbOrig.Sheets
ws.Copy After:=wb.Sheets(wb.Sheets.Count
If wbOrig.Sheets.Count > 1 Then
wb.Sheets(wb.Sheets.Count.Name = strFileName & ws.Index Else
wb.Sheets(wb.Sheets.Count.Name = strFileName End If Next
wbOrig.Close SaveChanges:=False strFileName = Dir Loop
Application.DisplayAlerts = False wb.Sheets(1.Delete
Application.DisplayAlerts = True Application.ScreenUpdating = True Set wb = Nothing End Sub 示例文档下载:
下面是合并多个Excel工作簿的另一种情形,也是《Excel VBA实战技巧精粹》中<技巧91:汇总
有四个工作簿,分别为:汇总工作簿.xls、一月.xls、二月.xls、三月.xls,其中一月.xls、二月.xls 在“汇总工作簿.xls”中打开VBE,并输入下列代码:
Sub ConsolidateWorkbook( Dim RangeArray( As String Dim bk As Workbook Dim sht As Worksheet Dim WbCount As Integer WbCount = Workbooks.Count ReDim RangeArray(1 To WbCount - 1
For Each bk In Workbooks '在所有工作簿中循环 If Not bk Is ThisWorkbook Then'非代码所在工作簿 Set sht = bk.Worksheets(1 '引用工作簿的第一个工作表 i = i + 1
RangeArray(i = \
sht.Range(\Next
Worksheets(1.Range(\RangeArray, xlSum, True, True End Sub
运行上述代码前,必须打开所有的工作簿。运行代码后,将自动汇总所有工作表中的值并将相应
示例文档下载:
下面是汇总多个工作簿的又一种情形,也是一名网友提出的问题:在同一文件夹中有多个工作簿,其中
Sub UnionWorksheets(
Application.ScreenUpdating = False Dim lj As String Dim dirname As String Dim nm As String lj = ActiveWorkbook.Path nm = ActiveWorkbook.Name dirname = Dir(lj & \Cells.Clear
Do While dirname <> \If dirname <> nm Then
Workbooks.Open Filename:=lj & \Workbooks(nm.Activate
'复制新打开工作簿的第一个工作表的已用区域到当前工作表
Workbooks(dirname.Sheets(1.UsedRange.Copy _ Range(\
Workbooks(dirname.Close False End If dirname = Dir Loop End Sub
簿》中介绍过合并工作簿的示例。下面再列举几个示例,供有兴趣的朋友参考。
的工作簿在“D:\\示例\\数据记录\\”文件夹中,含有两个工作簿test1.xls、test2.xls(当然,可以不限于两个, ReadOnly:=True
技巧91:汇总多个工作簿的工作表>所介绍的方法,即合并汇总。
中一月.xls、二月.xls、三月.xls均只含有一张工作表且工作表中的数据均自单元格A1开始,现在要求将它们合并至
中的值并将相应单元格的值求和。
中有多个工作簿,其中有一个用于汇总的工作簿,要求将除该汇总工作簿外的其它工作簿中的第一张工作表的数据汇
不限于两个,在test1.xls工作簿中含有三张工作表,在test2.xls工作簿中含有两张工作表,现在
求将它们合并至“汇总工作簿.xls”中。
第一张工作表的数据汇总到该汇总工作簿中。代码如下:
,现在使用一段VBA代码合并这两个工作簿到一个新工作簿中,合并到新工作簿中的工作表分别以原
工作表分别以原工作簿名加索引值命名。代码如下:
正在阅读:
用VBA合并Excel工作簿11-03
中国传统文化基本内涵11-22
材料成型基础复习题01-24
七年级语文上册22《看云识天气》教案设计(新版)新人教版04-29
职业健康管理制度及岗位职业操作规程(2016年修订版)05-31
云南自考信息网02-08
医学寄生虫学复习资料07-02
智慧园区综合管理服务体系03-13
小学生描写春夏秋冬讲述讲解03-08
河南理工大学供电技术试卷及答案03-06
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 合并
- 工作
- Excel
- VBA
- 人教版必修二 Unit 4 Wildlife protection学案
- 2017导基综合测试
- 广场景观设计任务书(完成版)
- SA201H 称重控制器使用手册
- 南京大学《心理学与生活》笔记 - 图文
- 广州机床厂办公楼及车间网络系统方案书
- 重庆市营运高速公路施工标准化管理办法 - 图文
- 人力资源管理系统UML建模
- 《护理学基础》段考试卷(A卷)
- IC卡考勤管理系统课程设计
- 精准扶贫调研报告
- 数据结构1800试题-第10章 排序
- 儿少习题
- 半导体器件物理 复习纲领
- 四年级小学生期末评语集锦打印版(方便手写)
- 关于金融监管体系的改革和完善
- 微分方程建模学习
- 微观参考复习题版本3 - 图文
- 战略品牌管理第三版期末复习重点
- 《组织行为学》在线考试(开卷)试题