excel如何将一个工作簿中的多个工作表合并到一张工作表上 如何将一个excel里面的多个sheet快速的合并到一个sh...

www.zhiqu.org     时间: 2024-06-02
  1. 原始数据所在工作簿包含多个格式相同的工作表,只不过每个工作表内容不同,比如说不同人名的工作表数据或者不同部门填写的数据;

  2. 在原始数据同目录下新建一个工作簿,建立两个工作表,名称分别为“首页”和“合并汇总表”;

  3. 按Alt+F11进入VBA代码编辑和调试界面;

  4. 根据下图提示,插入一个模块;

  5. 将下述代码粘贴到模块空白处:

    Sub CombineSheetsCells()

    Dim wsNewWorksheet As Worksheet

    Dim cel As Range

    Dim DataSource, RowTitle, ColumnTitle, SourceDataRows, SourceDataColumns As Variant

    Dim TitleRow, TitleColumn As Range

    Dim Num As Integer

    Dim DataRows As Long

    DataRows = 1

    Dim TitleArr()

    Dim Choice

    Dim MyName$, MyFileName$, ActiveSheetName$, AddressAll$, AddressRow$, AddressColumn$, FileDir$, DataSheet$, myDelimiter$

    Dim n, i

    n = 1

    i = 1

    Application.DisplayAlerts = False

    Worksheets("合并汇总表").

    DeleteSet wsNewWorksheet = Worksheets.Add(, after:=Worksheets(Worksheets.Count))

    wsNewWorksheet.Name = "合并汇总表"

    MyFileName = Application.GetOpenFilename("Excel工作薄 (*.xls*),*.xls*")

    If MyFileName = "False" Then

    MsgBox "没有选择文件!请重新选择一个被合并文件!", vbInformation, "取消"

    Else

    Workbooks.Open Filename:=MyFileName

    Num = ActiveWorkbook.Sheets.Count

    MyName = ActiveWorkbook.Name

    Set DataSource = Application.InputBox(prompt:="请选择要合并的数据区域:", Type:=8)

    AddressAll = DataSource.Address

    ActiveWorkbook.ActiveSheet.Range(AddressAll).Select

    SourceDataRows = Selection.Rows.Count

    SourceDataColumns = Selection.Columns.Count

    Application.ScreenUpdating = False

    Application.EnableEvents = False

    For i = 1 To Num

    ActiveWorkbook.Sheets(i).Activate

    ActiveWorkbook.Sheets(i).Range(AddressAll).Select

    Selection.Copy

    ActiveSheetName = ActiveWorkbook.ActiveSheet.Name

    Workbooks(ThisWorkbook.Name).Activate

    ActiveWorkbook.Sheets("合并汇总表").Select

    ActiveWorkbook.Sheets("合并汇总表").Range("A" & DataRows).Value = ActiveSheetName

    ActiveWorkbook.Sheets("合并汇总表").Range(Cells(DataRows, 2), Cells(DataRows, 2)).Select

    Selection.PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone,

    SkipBlanks:=False, Transpose:=False

    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _

    False, Transpose:=False

    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _:=False, Transpose:=False

    DataRows = DataRows + SourceDataRows

    Workbooks(MyName).Activate

    Next i

    Application.ScreenUpdating = True

    Application.EnableEvents = True

    End If

    Workbooks(MyName).Close

    End Sub

  6. 在“首页”工作表中按下图示范插入一个窗体控件并指定宏为插入的代码名称;

  7. 点击“首页”工作表中插入的按钮,根据提示,浏览到原始数据工作簿;

  8. 下一步,用鼠标选择要合并的数据范围;

  9. 点击确定按钮,待代码运行完毕后,所有的数据就都合并到了“合并汇总表”中;

  10. 选中全部数据区域,执行自动筛选。然后选择其中一个字段,选择“空白”和标题内容;

  11. 然后将筛选出来的无用行鼠标右键删除,再删除A列整列即可。



打开你的工作簿 新建一个工作表 在这个工作表的标签上右键 查看代码 你把下面的代码复制到里边去,然后 上面有个运行 运行子程序就可以了,代码如下,如果 出现问题你可以尝试工具 宏 宏安全性里把那个降低为中或者低再试试

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("B1").Select
Application.ScreenUpdating = True
MsgBox "当前工作簿下的全部工作表已经合并完毕!", vbInformation, "提示"
End Sub

如何将一张工作表拆分成多个工作表?





这个很难,需要用到VBA编程,如果各表格的格式一样,建议你复制粘贴.

如何将一个EXCEL中的多个SHEET中内容合并到一个SHEET中~

5分钟学会在Excel中如何把多个工作表合并成一个表 N常用的技能

5分钟学会在Excel中如何把多个工作表合并成一个表 N常用的技能


#孟袁购# 怎么把EXCEL的一个工作簿中多个工作表的内容合并到一个工作表 -
(18540322712): 写跨页累加代码,很简单. 比如 sheet1的A1=!SHEET1:A1+!SHEET2:A1+!SHEET3:A1+...

#孟袁购# 如何将多个excel工作薄中的多个工作表分别合并到一个工作薄中对应的工作表 -
(18540322712): 右键点击最下方的工作表 选择 移动或复制工作表 然后选你要合并到的那个工作簿

#孟袁购# excel如何将一个工作簿中的多个工作表合并到一张工作表上 -
(18540322712): 比较合并文档

#孟袁购# excel怎么多个工作表合并到一个工作表 -
(18540322712): 有一个"Excel必备工具箱“的小软件,下载安装后执行工具箱→工具集锦→汇总→表格合并→确定→(选择你需要合并的表格)

#孟袁购# 如何将EXCEL中同一个工作薄多张工作表合并 -
(18540322712): 在你的当前工作簿下新建一个sheet然后你在这个sheet和标签处右键 查看代码(找不到的直接按一下alt+F11) 把下面 的代码复制进去 然后点上面的运行 运行子程序就可以了 Sub 合并当前工作簿下的所有工作表() Application.ScreenUpdating = False For j = 1 To Sheets.Count

#孟袁购# 怎么把excel多个工作表合并到一个工作表 -
(18540322712): 将其他excel表格中的数据全部复制到当前excel表格可以实现excel工作表合并功能. 所需工具和原料: 1.一台搭载Windows系统的笔记本电脑. 2.电脑软件Excel 2010. 3.若干张excel表格(至少两张,包含数据). 合并方法: 1.Excel 2010打开两张excel表格,以垂直并排方式显示. 2.在第二张表格上选择要复制的数据,点击鼠标右键,选择复制. 3.进入第一张表格,选择目标单元格,点击鼠标右键,选择选择性粘贴. 4.点击粘贴按钮插入拷贝数据. 5.表格数据合并完成.

#孟袁购# excel中想把同一个工作簿的两个工作表这么合并在一起? -
(18540322712): 将表2的K、L、M 3列复制到表1的B、C、D就实现合并.操作:点击表2的K2单元格,下拉滚动条到底,按住Shift点击M列最后一单元格,复制蓝色区域,选表1的B4单元格,粘贴.

#孟袁购# 怎么把1个工作表里多个表格合并为1个表格 -
(18540322712): 你这说的是一个工作簿中的多个工作表合并 如果各表结构相同,才可能合并.而且你还可能需要增加列来标识数据来源于哪个工作表.如果工作表不多,就手工复制得了,简单直观.如果工作表多,可以考虑编个VBA脚本来完成(其实也是复制粘贴和补充数据)

#孟袁购# 怎样把多个excel表格合并成一个excel表格 -
(18540322712): 用多重合并计算数据区域透视表可以汇总结构相同、行列数及行列顺序(还需测试)不同的多工作表的汇总工作,结构相同指的是列字段均相同,在使用多重合并计算数据区域透视表时,要求各个区域首列为文本,其他列均为数值,也就是要求...

#孟袁购# 怎么将多个Excel工作簿合并成一个新的工作簿 -
(18540322712): 根据数据格式的实际状况,可考虑选择以下方式之一: 1、直接设置函数公式. 2、设置控件(VBA). 3、编写宏代码(VBA). 4、编一个小程序.