在Excel里如何将多个工作簿合并到一个工作簿中

当你必须将多个工作簿合并到一个工作簿时,你遇到过麻烦吗?最让人心烦的就是需要合并的工作簿里有很多张工作表。有人能推荐方法解决这个问题吗?

利用VBA 将多个工作簿合并到一个工作簿中
复杂,高级用户使用

Excel 的专业用户可以使用VBA 将多个工作簿合并到一个主要的工作簿中。你可以按照如下步骤操作:

1. 将需要合并的所有工作簿都 放置在同一个目录下。如图:

2. 打开一个工作簿,其他工作簿将被合并到这个工作簿中。

3. 点击开发工具 >> Visual BasicMicrosoft Visual Basic for applications  窗口将被打开,点击插入 >> 模块,将下面的代码输入模块窗口中:

VBA:将多个工作簿合并到一个工作簿中

1
2
3
4
5
6
7
8
9
10
11
12
Sub GetSheets()
 Path = "C:\Users\dt\Desktop\dt kte\"
 Filename = Dir(Path & "*.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

提示:在上面的代码里,你可以将目录路径更换成你自己使用的路径。

4. 然后点击  按钮运行代码,工作簿里的全部工作表(包括空白工作表)都将被合并到主工作簿里。

注意:这个VBA 代码能将整个工作簿合并到主工作簿中,但是不能 针对指定的工作表进行合并。

利用移动或复制功能将多个工作簿合并到一个工作簿中
操作耗时

利用移动或复制功能将多个工作簿合并到一个工作簿中

如果你只是Excel 新手,除了复制每张工作表里的内容再粘贴到新工作簿和应用移动或复制功能外,也没有其他选择了。应用移动或复制功能能帮你快速地将一张或多张工作表导出或复制到新工作簿里。

1. 打开所有需要合并的工作簿。

2. 在工作表标签栏上选中一个工作簿里的全部工作表名称。按住Ctrl 键或Shift 键,你可以同时选择多个工作表。右键点击工作表名称,从右键菜单里选择移动或复制

3. 在移动或复制工作表对话框里,在将选定工作表移至工作簿下拉菜单里选择主 工作簿,其他工作簿都将被合并到这个主 工作簿中。然后指定合并工作表的位置。如图:

4.点击确定。选中的工作表都被合并到了主 工作簿里。

5. 重复2-4步,将其他工作簿移到主要的工作簿里。这样,所有打开的工作簿中 的工作表都被合并到了一个工作簿里。如图:

http://www.extendoffice.com/documents/excel/zh-cn-excel/2805-combine-multiple-workbooks.html

实践证明,下面的代码也很有效:(http://www.excelperfect.com/index.php/2009/05/23/mergesomeworkbooks/)

Sub CombineWorkbooks()
Dim strFileName As String
Dim wb As Workbook
Dim ws As Object
 
'包含工作簿的文件夹,可根据实际修改
Const strFileDir As String = "D:\示例\数据记录\"
 
Application.ScreenUpdating = False
 
Set wb = Workbooks.Add(xlWorksheet)
strFileName = Dir(strFileDir & "*.xls*")
 
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里如何将多个工作簿合并到一个工作簿中的更多相关文章

  1. EXCEL 如何将多个工作表或工作簿合并到一个工作表

    在使用Excel 时,我们经常需要将多个工作表或工作簿合并到一个工作表中,这样我们就能快速地对数据进行分析和统计.对于一般用户而言,除了复制每个工作表后再粘贴,没有其他什么方法了.如果只是合并少数几个 ...

  2. 【Office】【Excel】将多个工作薄合为一个工作薄

    前提:工作薄首行不能有合并的单元格 准备工作:将要合并的工作簿放在一个文件夹里面,文件夹中不能有乱七八糟的东西,只能有你要合并的工作薄 操作步骤:在此文件夹下创建Excel表格并打开,按下alt+F1 ...

  3. 【Office】【Excel】将多个工作表合为一个工作表

    在工作表中按下alt+F11打开vba编辑窗口,在菜单栏中选择[插入]=>[模板],将下面的代码粘贴过去,然后运行即可 点击查看代码 Sub 合并当前工作簿下的所有工作表() On Error ...

  4. 合并多个工作薄workbooks到一个工作薄workbook

    微软示例教程 微软示例教程 Sub MergeAllWorkbooks() Dim SummarySheet As Worksheet Dim FolderPath As String Dim NRo ...

  5. Excel怎么把两个单元格中的文字合并到一个单元格中

    使用&符号,可以将字符串和单元格中的内容拼接起来

  6. 工作簿合并(Excel代码集团)

    同一文件夹内N个工作簿 ,每个工作簿里N个工作表,最终合并到一个工作表里的代码. 假设每个表格结构相同,第一行为标题,第二行为表头,表头内容固定,行数不固定,列固定14,工作表数量不固定,工作簿数量不 ...

  7. Python将多个excel表格合并为一个表格

    Python将多个excel表格合并为一个表格 生活中经常会碰到多个excel表格汇总成一个表格的情况,比如你发放了一份表格让班级所有同学填写,而你负责将大家的结果合并成一个.诸如此类的问题有很多.除 ...

  8. Excel用Power Query把文件夹下所有文件合并为一个与合并多个表格

    Excel用Power Query把文件夹下所有文件合并为一个与合并多个表格 在 Excel Power Query 未出来之前,把文件夹下所有文件合并为一个与合并同一工作表中的多个工作表,需要用 V ...

  9. 如何在同一个Excel里,对两个很相似的工作簿比对出不同之处

    如何在同一个Excel里,对两个很相似的工作簿比对出不同之处

随机推荐

  1. Mvc基础(1)

  2. Android学习之Image操作及时间日期选择器

    一.基础学习 1.ImageView是图片容器,就相当于RadioGroup是RadioButton的容器一样,是View的直接子类. 1: <ImageView 2: android:id=& ...

  3. Penetration test

    Contents 1 History 2 Standards and certification 3 Tools 3.1 Specialized OS distributions 3.2 Softwa ...

  4. cocos2dx 环境搭建 win7 +vs2012+ cocos2dx-2.1.4

    转自:http://my.eoe.cn/swer03160828/archive/20067.html 1) 如果在win32 下面编写的cocos2dx 的代码其文件 .cpp,.h 的文件,基本上 ...

  5. ASP.NET Web API 2 入门(一)

    前言 HTTP 不是只是为了服务的 web 页.这也是建设公开服务和数据的 Api 的强大平台.HTTP 是简单的. 灵活的和无处不在.你能想到的几乎任何平台有 HTTP 库,因此,HTTP 服务可以 ...

  6. 如何在C++中使用WebService

    gsoap主页 http://sourceforge.net/projects/gsoap2   使用gsoap生成所需的WebService 下载后的gsoap包为:(点击到我的资源中下载) 将他解 ...

  7. Android实战之你应该使用哪个网络库?

    前言 目前基本上每个应用都会使用HTTP/HTTPS协议来作为主要的传输协议来传输数据.即使你没有直接使用HTTP协议,也会有成堆的SDK会包含这些协议,譬如分析.Crash反馈等等.当然,目前也有很 ...

  8. google python/c++ code style naming

    python: Guidelines derived from Guido's Recommendations Type Public Internal Packages lower_with_und ...

  9. Wide character in print at a2.pl line 返回json 需要encode_utf8

    centos6.5:/root/test#cat a2.pl use Net::SMTP; use LWP::UserAgent; use HTTP::Cookies; use HTTP::Heade ...

  10. Beta Round #9 (酱油杯noi考后欢乐赛)最大伤害

    题目:http://www.contesthunter.org/contest/Beta%20Round%20%EF%BC%839%20%28%E9%85%B1%E6%B2%B9%E6%9D%AFno ...