excel如何合并多个表格?

excel同一个文件当中不同工作表如何合并到一个表格中?前提是这些表格的格式都一样。
格式相同的表格合并到一起形成一个表格

1、我们需要把多个excel表都放在同一个文件夹里面,并在这个文件夹里面新建一个excel。如图所示:

2、用microsoft excel打开新建的excel表,并右键单击sheet1,找到“查看代码”,单击进去。进去之后就看到了宏计算界面。如图所示:

3、

然后我们把下面这些宏计算的代码复制进去,然后找到工具栏上面的“运行”下的“运行子过程/用户窗体”,代码如下,如图所示:


Sub 合并当前目录下所有工作簿的全部工作表()

Dim MyPath, MyName, AWbName

Dim Wb As Workbook, WbN As String

Dim G As Long

Dim Num As Long

Dim BOX As String

Application.ScreenUpdating = False

MyPath = ActiveWorkbook.Path

MyName = Dir(MyPath & "\" & "*.xls")

AWbName = ActiveWorkbook.Name

Num = 0

Do While MyName <> ""

If MyName <> AWbName Then

Set Wb = Workbooks.Open(MyPath & "\" & MyName)

Num = Num + 1

With Workbooks(1).ActiveSheet

.Cells(.Range("B65536").End(xlUp).Row + 2, 1) = Left(MyName, Len(MyName) - 4)

For G = 1 To Sheets.Count

Wb.Sheets(G).UsedRange.Copy .Cells(.Range("B65536").End(xlUp).Row + 1, 1)

Next

WbN = WbN & Chr(13) & Wb.Name

Wb.Close False

End With

End If

MyName = Dir

Loop

Range("B1").Select

Application.ScreenUpdating = True

MsgBox "共合并了" & Num & "个工作薄下的全部工作表。如下:" & Chr(13) & WbN, vbInformation, "提示"

End Sub

4、运行之后,等待10秒针左右,等运行完毕,就是合并完成之后,会有提示,点确定就可以了。查看合并后的数据,有5000多行,就是同一个文件夹里面17个excel表数据合并后的结果。效果如图所示。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-03-27
建议你下载一个Excel必备工具箱,安装成功后会在Excel文件菜单上生成一个“工具箱”。第一步:将多个工作簿内的每一张表合并到一个工作簿:点工具箱→工具集锦→汇总→文件合并→确定→选中你需要合并的所有文件(鼠标左键点需要合并的第一个文件,然后按Shift不松,鼠标左键点需要合并的最后一个文件)→上移、下移调整好位置→确定。第二步:将一个工作薄内多个工作表合并:点工具箱→工具集锦→汇总→表格合并→确定→来自当前文档→请指定处理范围(根据你表格的具体情况设置)→确定→指定数据来源(按你的要求将需要合并的表格打钩→确定本回答被网友采纳
第2个回答  2011-03-29
1.把12个分表的数据合并到当前表,如果求和,可以用数据中的合并计算,要求表格完全一样,位置也一样,也可以直接输入公式:=SUM(SHEET1!A1:SHEET12!A1),就能把12个分表的A1单元格数据求和了,其它需要求和的,只需要修改上面公式中的A1为相应单元格就行了,鼠标拖动复制也行。
2.如果是把12个分表合并成一个表,不是相加,是把需要的12个表的表,在后面空白行自动复制过来。就用VBA简单:
EXCEL:一个工作薄中多个工作表合并代码

在EXCEL中,到合并表里打开宏,将下列代码进行粘贴并保存。然后返回你需要合并的工作表中。或按 alt + f11,双击工程资源管理器里面的合并表的SHEET,在右侧的代码区粘贴如下代码。运行此宏,就合并了。

Sub 合并sheets()
n = 12 '源表个数,根据需要修改!
nstart = 9 '每个单表数据的起始行数,根据需要修改!
k = nstart '目标表的行标
For i = 1 To n
irow = nstart '行标
While Sheets(i).Cells(irow + 1, 1) <> "" '后面个1以第1列数据为结束标示,确定源表的行数,根据需要修改!
irow = irow + 1
Wend
Sheets(i).Rows(nstart & ":" & irow).Copy '复制源数据行
Sheets(n + 1).Activate
Sheets(n + 1).Cells(k, 1).Select
ActiveSheet.Paste '粘贴数据
k = k + irow - nstart + 1
Next i
End Sub
不会用HI我。
第3个回答  2018-03-31

具体如下:

1、我们需要把多个excel表都放在同一个文件夹里面,并在这个文件夹里面新建一个excel。

2、用microsoft excel打开新建的excel表,并右键单击sheet1,找到“查看代码”,单击进去。进去之后就看到了宏计算界面。

3、然后我们把下面这些宏计算的代码复制进去,然后找到工具栏上面的“运行”下的“运行子过程/用户窗体”,代码如下,如下:

Sub 合并当前目录下所有工作簿的全部工作表()

Dim MyPath, MyName, AWbName

Dim Wb As Workbook, WbN As String

Dim G As Long

Dim Num As Long

Dim BOX As String

Application.ScreenUpdating = False

MyPath = ActiveWorkbook.Path

MyName = Dir(MyPath & "\" & "*.xls")

AWbName = ActiveWorkbook.Name

Num = 0

Do While MyName <> ""

If MyName <> AWbName Then

Set Wb = Workbooks.Open(MyPath & "\" & MyName)

Num = Num + 1

With Workbooks(1).ActiveSheet

.Cells(.Range("B65536").End(xlUp).Row + 2, 1) = Left(MyName, Len(MyName) - 4)

For G = 1 To Sheets.Count

Wb.Sheets(G).UsedRange.Copy .Cells(.Range("B65536").End(xlUp).Row + 1, 1)

Next

WbN = WbN & Chr(13) & Wb.Name

Wb.Close False

End With

End If

MyName = Dir

Loop

Range("B1").Select

Application.ScreenUpdating = True

MsgBox "共合并了" & Num & "个工作薄下的全部工作表。如下:" & Chr(13) & WbN, vbInformation, "提示"

End Sub

4、运行之后,等待10秒针左右,等运行完毕,就是合并完成之后,会有提示,点确定就可以了。查看合并后的数据,有5000多行,就是同一个文件夹里面17个excel表数据合并后的结果。效果如图所示。

本回答被网友采纳
第4个回答  2011-03-28
不知道你说的是不是把各表格中数据求和得到一个总表
选定总表中需求和位置,输入“=”,然后点击各工作表相应位置数值,中间输入“+”,最后回车。其他位置数值可同样计算,也可在该单元格右下角鼠标出现黑十字时下拉,公式会自动填充
相似回答