怎样将单个excel表格汇总到一张工作簿 如何将多个excel表汇总到一个工作簿中

作者&投稿:长刘 (若有异议请与网页底部的电邮联系)
操作步骤:

原始数据所在工作簿包含多个格式相同的工作表,只不过每个工作表内容不同,比如说不同人名的工作表数据或者不同部门填写的数据。

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

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

根据下图提示,插入一个模块。

将下述代码粘贴到模块空白处:
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("合并汇总表").Delete
Set 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

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

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

下一步,用鼠标选择要合并的数据范围。
注意:每个工作表数据可能不一样,比如说有的是10行数据,有的是30行数据。在这里我们可以用鼠标选择任意工作表的一个较大范围,比如说A1:D100,保证比最多行数的工作表数据还多就可以,一会再删除空行。

点击确定按钮,待代码运行完毕后,所有的数据就都合并到了“合并汇总表”中。
注意:
1)A列的文本说明右侧的数据来自于原始数据表的哪个工作表;
2)数据之间会有一些空行,下面通过筛选删除。

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

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

如何将多个单独的excel表合并到一个工作簿~

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

alt+F11,把这段代码放进去看看。

下面是汇总多个工作簿的一种情形,也是一名网友提出的问题:在同一文件夹中有多个工作簿,其中
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 & "\*.xls*")
Cells.Clear
Do While dirname ""
If dirname nm Then
Workbooks.Open Filename:=lj & "\" & dirname
Workbooks(nm).Activate

'复制新打开工作簿的第一个工作表的已用区域到当前工作表
Workbooks(dirname).Sheets(1).UsedRange.Copy _
Range("A65536").End(xlUp).Offset(1, 0)
Workbooks(dirname).Close False
End If

dirname = Dir
Loop
End Sub
文库资料:http://wenku.baidu.com/view/0b4f551d59eef8c75fbfb32b?fr=prin
这里有另外两种情形,你看你的是哪一类。
或者,把你的文件发来,帮你弄好

excel不同表格中的数据该怎么汇总到一个表格呢?
答:接下来,我要把每个点的销售数据汇总到这张表上,你可能会问,这有什么难度,复制粘贴就好了。好了,我给你100张工作表,让你去复制吧。我们做事要讲究效率。4、调用函数进行汇总。单击B2单元格,输入公式=INDIRECT(SheetROW(B1)!B2),这个函数里嵌套一个行号函数ROW,SheetROW(B1)相当于Sheet1,,...

怎样将单个excel表格汇总到一张工作簿
答:注意:每个工作表数据可能不一样,比如说有的是10行数据,有的是30行数据。在这里我们可以用鼠标选择任意工作表的一个较大范围,比如说A1:D100,保证比最多行数的工作表数据还多就可以,一会再删除空行。点击确定按钮,待代码运行完毕后,所有的数据就都合并到了“合并汇总表”中。注意:1)A列的...

如何将一个excel中的工作表全部放到另一个excel中,请看详细描述!_百度...
答:1、首先把要合并的excel表都放在同一个文件夹里面 2、然后这个文件夹里面新建一个excel 3、打开新建的excel表,并按快捷键“alt”+“F11”4、进入宏界面 5、选择刚才新建Excel的名字,进入输入界面 6、然后把下面这些宏计算的代码复制进去,代码如下:Sub 合并当前目录下所有工作簿的全部工作表()Dim ...

excel怎么把同一个人的不同数据合并到一起?
答:2.使用数据透视表: 如果您的数据较大且有多个字段,可以使用数据透视表来汇总和合并数据。在Excel中,您可以选择您的数据范围,然后插入数据透视表。将姓名字段拖动到“行”区域,将其他字段拖动到“值”区域,这样可以将同一个人的数据合并到一起,并进行汇总计算。3.使用函数: 如果您想在单元格中...

怎样将几个excel表格汇总到一张表格
答:5、首先将这些excel文件都复制到一个文件夹下。切换到【数据】菜单,点击【新建查询】,选择【从文件】下的【从文件夹】。输入刚刚的文件夹路径,点击【确定】。点击【合并】下的【合并和加载】选项。如何将多个excel表格汇总到一张表格1、打开EXCEL表格,创建一张汇总表格,点击功能区“数据-合并计算”...

Excel怎么将多个表格里的特定数据汇总到一个表格里
答:1、打开excel表格,先在表格中将汇总数据的标题单元格制作好。再单击主菜单中的“数据”选项。2、在其下拉子菜单“数据工具”组中找到“合并计算”子项并单击,这时会弹出对话窗。3、单击“合并计算”对话窗中“引用位置”处的斜向上红色箭头,这时会出现数据采集框。4、接着使用鼠标选中第一个表格中...

EXCEL汇总表怎么做,怎么把不同子表的数据汇总到一张表格中(按不同项目...
答:然后选择单元格中左上角的第一个单元格。3、在菜单栏中选择,:数据——合并计算。4、再出现的对话框中函数中选择求和。5、选择表格一,把表格一中的数据全部选中。6、点击右侧的添加,将选中的表格一添加到所有引用位置。7、将其余的需要汇总的表格都添加进去。8、点击确定,就得到了汇总的结果。

如何将excel中各工作表汇总为一张表
答:如果你的每张工作表都使用同一种模板,这个很好做。假定你要把Sheet2和Sheet3的汇总到Sheet1中,那先把模板复制到Sheet1上,再看看表头和项目名称的描述是否适合这张汇总表,然后在显示数据的单元格比如说A2内输入公式:=Sheet2!B2+Sheet3!B2(更方便的方法是选取或激活A2,输入“=”,转到Sheet2,...

怎样将excel 总表中相同类别的数据自动汇总到新的工作表中?_百度知 ...
答:1、首先打开相同数据的表,把需要汇总的项目进行排序。2、然后分类汇总货物的总金额,如图所示。3、把表汇总好后,点击要新表2,然后选取内容按Ctrl+c进行复制。4、复制到WORD文档,按键Ctrl+V进行粘贴。5、然后按键Ctrl+A全选中,如图所示。6、接着按Ctrl+X剪切,打开新表按Ctrl+V粘贴即可。

EXCEL2007 如何将几个独立的工作表数据自动汇总到一个总表上面?
答:在<<汇总表>>中,在J3中输入公式:=COUNTA(小李!A:A)-2 在J4中输入公式:=COUNTA(小李!A:A)-2 在J5中输入公式:=COUNTA(小黄!A:A)-2 在A3中输入公式:=IF(IFERROR(INDIRECT($A3&"!"&(CHAR(65+COLUMN(A$1))&(COUNTIF($A$3:$A3,$A3)+2))),"")=0,"",IFERROR(INDIRECT($A3&"...