如何将多张excel表格合并成一个表格中的多张sheet文件

首先我们要有自己的excel数据,并且我们需要的是microsoft excel,WPS没有这些负责的功能。比如我下面举例的,我自己有205页的数据需要合并,

多个sheet合并成一个sheet(多个sheet提取数据汇总)多个sheet合并成一个sheet(多个sheet提取数据汇总)


多个sheet合并成一个sheet(多个sheet提取数据汇总)


多个sheet合并成一个sheet(多个sheet提取数据汇总)


看到这么多数据页要合并,如果是粘贴的话,工作量就很大了。我们现在开始合并,首先要在最前页新建一个工作表:

在新建的sheet表中“右键”,找到“查看代码”,然后看到宏计算界面。如

Sub 合并当前工作簿下的所有工作表()

For j = 1 To Sheets.Count

If Sheets(j).Name <> ActiveSheet.Name Then

X = Range("A65536").EApplication.ScreenUpdating = Falsend(xlUp).Row + 1

End If

NexSheets(j).UsedRange.Copy Cells(X, 1)t

MsgBox "当前工作簿下的全部工作表已经合并完毕!", vbInformation, "提示"

End Sub

5做完上面的事情,然后只需要点击工具栏上面的“运行”下的“运行子过程/用户窗体”就可以了,合并完之后会有提示。提示完成之后就可以把宏计算界面关闭了

excel怎么快速合并多个工作表数据到一个工作表

X = 1

作步骤: 1

If MyFileName = "False" Then

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

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

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

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

Dim wsNewWorksheet As Worksheet

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 Cho

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

n = 1

i = 1

Application.DisplayAlerts = False

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

wsNewWorksheet.Name = "合并汇总表"

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

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

Else

Workbooks.Open Filename:=MyFileName

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.EnableEvents = False

For i = 1 To Num

ActiveWorkbook.Sheets(i).Activate

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

Selection.Copy

Workbooks(ThisWorkbook.Name).Activate

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

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

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

SkipBlanks:=False, Transe:=False

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

False, Transe:=False

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

:=False, Transe:=False

DataRows = DataRows + SourceDataRows

Workbooks(MyName).Activate

Next i

Application.EnableEvents = True

End If

Workbooks(MyName).Close

End Sub

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

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

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

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

注意:

1)A列的文本说明右侧的数据来自于原始数据表的哪个工作表;

2)数据之间会有一些空行,下面通过筛选删除。

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

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

一、工具:Microsoft

Off

-Excel

二、作过程和说明:

1.首先,先来看一下INDIRECT函数的用法。INDIRECT函数的作用是:将表示单元格引用的文本转换为实际单元格的引用。具体示例见下图说明:

2.上面的例子是返回同工作表中的内容,INDIRECT函数对不同工作簿、不同工作表的文本地址也是同样适用的,如下图示例:

3.注意:对部分工作表名称引用时需要在工作表名称前后加上英文状态的单引号,比如说以数字开头的工作表名称,实际单元格引用类似:='1月份报表'!H18。为了避免错误,可以将所有工作表名称前后都加上单引号。

4.下面来介绍一下要合并的数据。我们有12张工作表,每个工作表是一个月份的数据。其中A列是客户名称,B列和C列分别是两个产品的销售数量。每个表格里A列的客户名称是一样的(可以类比财务报表的固定科目)。

5.首先,建立一个汇总表,把客户名称到汇总表的A列。

6.从B1开始,将工作表名称顺序填充在汇总表行。

注意:工作表名称可以用其他Excel小插件取得,转置粘贴到B1开始的单元格区域。

7.先来汇总产品一各月的销售数量。

双击B2单元格,输入公式:=INDIRECT("'"&B$1&"'!B"&ROW(A2)),返回1月份A客户产品一的销售数量,我们可以查看原始数据表验证一下。

8.注意:上面INDIRECT函数生成单元格地址引用部分用了公式,B1代表月份,!B代表取每个表B列数据。row(A2)先返回A2单元格的行数2,然后下拉会变成3,4……等,也就可以顺序取得每个工作表其他客户的销售数据。

9.将B2单元格公式右拉,下拉填充满数据区域就可以方便的查看各月份各客户产品一的销售金额了。也可以查看原始数据表验证一下。

10.如果要查看产品二的数据,可以修改B2的公式,将!B改成!C,右拉下拉即可。也可以用查找替换的方法一次性完成该转换。

易错点提示:这种替换时不要只将B替换成C,因为公式中包含的所有字母B都会被替换成C,导致发生不可预期的错误。比如说ISBLANK函数的B替换成C后,excel就无法识别并运算了。

11.替换完成后,也可以查看一下原始数据表产品二的销售量,看是否正确返回了结果。

求救EXCEL高级难题:如何将多个工作表合成一个工作表?

Range("B1").Select

这是什么高级难题呀?简单的问题。

请参考:

先要确认你是要几个Excel工作簿合并,还是在同一个工作簿中的表格合并?

几个工作簿合并问题:

你可以如此作,首先在你几个工作表中选择一个主要的工作表。

然后把你要合并的其他工作簿打开,在Excel下面的标签栏点击右键,会出现:插入...删除...重命名...移动和工作表...你点击移动和工作表。会出现两个白框,上面一个就会出现你打开的所有工作簿,选择你确定的主要工作簿。如果是,就在最下面建立副本前面打钩,如果直接移动,就不管了,确定即可。如此类推。

同一个工作簿中的表格合并问题:

在同一个工作簿里的工作表如果要合并就更简单了,直接就OK了。

祝你工作愉快!

你的问题可能和我才回答过的问题一致,不防看看,我是把多个表中的数据汇总至一个表。

怎样把多个Excel表合并为一个(每个Excel中有5个Sheet)

ActiveSheetName = ActiveWorkbook.ActiveSheet.Name

很多用户都会有这样的需求,以2003版本为例:在窗口菜单中,选择并排窗口(提前打开那两个要合并的excel工作表再使用此功能,否则容易出错),如果原来的文件要保留就按住ctrl键,同事拖动你所用合并的工作表标签到新的窗口的位置;如果不需要保留原文件,就直接拖动工作表标签到新窗口的标签位置。如果是的话,名称后会自动加(2),你不需要可以重名。

楼主,千万不可用楼上两位所说的办法.也不要用什么函数.

您的问题是典型的多表合并的内容.

就该用Excel的专用方在菜单栏点击“插入”菜单,选择“模块”选项,进入模块编辑界面。法

"合并计算"

解决它.

合并计算在

数据

菜单下

请问怎样把EXCEL里面多个sheet的内容合并至一个sheet里?

首先保证50个表格行都是标题,从6、编辑完之后,点击左上角的关闭并上载,这样就可以将多个不同的exc这个方法是直接用Excel实现的,比较笨拙,还不知道能不能解决你的问题,呵呵...el文件放在一个excel文件里了。第二行开始是要编辑的数据

在第51个表格A2写入公式=sheet1!A2,

向下填充至不能出现数值时(即Sheet1中第N行开始为空白了),在开始出现空白的单元格写入=sheet2!a2,继续向下填充至不能出现数值时(即Sheet2中第M行开始为空白了),在空白的单元格写入=sheet3!a2,依次类推,至sheet50,然后将sheet51表中的A:A选中拖动到后面的列,完毕!

怎样合并多个excel文档的内容到一个工作簿

Sub CombineSheetsCells()

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

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

3、按Alt+F11进入VBA代码编辑和调试界面。根据下图提示,插入一个模块。

4、将下述代码粘贴到模块空白处:

Dim wsNewWorksheet As Worksheet

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 Cho

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

n = 1

i = 1

Application.Di根据下图提示,插入一个模块。splayAlerts = False

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

wsNewWorksheet.Name = "合并汇总表"

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

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

Else

Workbooks.Open Filename:=MyFileName

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.EnableEvents = False

For i = 1 To Num

ActiveWorkbook.Sheets(i).Activate

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

Selection.Copy

Workbooks(ThisWorkbook.Name).Activate

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

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

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

SkipBlanks:=False, Transe:=False

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

False, Transe:=False

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

:=False, Transe:=False

DataRows = DataRows + SourceDataRows

Workbooks(MyName).Activate

Next i

Application.EnableEvents = True

End If

Workbooks(MyName).Close

End Sub

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

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

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

注意:

1)A列的文本说明右侧的数据来自于原始数据表的哪个工作表;

2)数据之间会有一些空行,下面通过筛选删除。

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

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

怎样把多个excel表合并成多个sheet

'新建一个工作簿

要想把多个excel表合并成多个sheet,一共有七步,具体作如下。

7、下一步,用鼠标选择要合并的数据范围。

1、新建一个工作薄,将其命名为你合并后的名字。

2、打开此工作薄。

3、在其下任一个工作表标签上点击右键,选择“查看代码”。

4、在打开的VBA编辑窗口中粘贴以下代码:

Sub 工作薄间工作表合并()

Dim FileOpen

Dim X As Integer

FileOpen = Application.GetOpenFilename(FileFilter:="Microsoft Excel文件(.xls),.xls", MultiSelect:=True, Title:="合并工作薄")

While X <= UBound(FileOpen)

Workbooks.Open Filename:=FileOpen(X)

Sheets().Move

After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)

X = X + 1

Wend

ExitHandler:

Exit Sub

errhadler:

MsgBox Err.Description

End Sub

5、关闭VBA编辑窗口。

6、在excel中,工具---宏---宏,选“工作薄间工作表合并”,然后“执行”。

7、在打开的对话窗口中,选择你要合并的n个工作表。

excel怎么把多个工作表合并成一个

利用excel表的宏计算可以把多个工作表合并成一个。方法如下:

工具/原料:

多个excel表数据丶microsoft off

步骤:

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

MyPath = ActiveWorkbook.Path

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

AWbName = ActiveWorkbook.Name

Nu看到宏计算界面,我们就只需要把下面的代码进去,代码如下,效果如下:m = 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)注意:每个工作表数据可能不一样,比如说有的是10行数据,有的是30行数据。在这里我们可以用鼠标选择任意工作表的一个较大范围,比如说A1:D100,保证比最多行数的工作表数据还多就可以,一会再删除空行。 & Wb.Name

Wb.Close False

End With

End If

MyName = Dir

Loop

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

End Sub

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

金山的WPS没有宏计算功能。只能用microsoft excel来实现。

如何将多个Excel文件合并成一个有多个sheet的Excel文件

4,在弹出的代码编辑窗口中,输入代码。

方法/步骤

1、新建一个文件夹,将需要合并的excel文档到该文档目录下。

2、新建一个EXCEL空白文档,鼠标移动到在sheet工作表上单击右键,选择“查看代码”选项,进入VBA控制台。

3、在菜单栏点击“插入”菜单,选择“模块”选项,进入模块编辑界面。

4、在编辑框中以下代码,注意符号,需是英文状态下。

'功能:把多个excel工作簿的个sheet工作表合并到一个excel工作簿的多个sheet工作表,新工作表的名称等于原工作簿的名称

6、运行代码后,会弹出文档选择界面,找到新建文件夹的路径,选择你所需要合并的文档,选择文档后,点击“打开”,代码正在运行,运行时间视文档数目而定。

将多个excel文件合并到一个excel的多个sheet_百度经验'定义循环变量