excel如何快速把多个工作表合并到一个excel表.docx

上传人:b****8 文档编号:9591204 上传时间:2023-02-05 格式:DOCX 页数:12 大小:682.58KB
下载 相关 举报
excel如何快速把多个工作表合并到一个excel表.docx_第1页
第1页 / 共12页
excel如何快速把多个工作表合并到一个excel表.docx_第2页
第2页 / 共12页
excel如何快速把多个工作表合并到一个excel表.docx_第3页
第3页 / 共12页
excel如何快速把多个工作表合并到一个excel表.docx_第4页
第4页 / 共12页
excel如何快速把多个工作表合并到一个excel表.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

excel如何快速把多个工作表合并到一个excel表.docx

《excel如何快速把多个工作表合并到一个excel表.docx》由会员分享,可在线阅读,更多相关《excel如何快速把多个工作表合并到一个excel表.docx(12页珍藏版)》请在冰豆网上搜索。

excel如何快速把多个工作表合并到一个excel表.docx

excel如何快速把多个工作表合并到一个excel表

excel如何快速把多个工作表合并到一个excel表

有这么一种情况,就是我们有很多张excel,而且excel表里面的公式基本一样,我们就想快速的把这些excel合并在一起,意思在合并在一个excel页面,这样可以方便我们分析和统计,那么excel如何快速把多个工作表合并到一个excel表?

下面为大家介绍这种方法,希望能帮助到大家。

工具/原料

Excel

操作步骤:

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

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

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

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

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

复制代码

代码如下:

SubCombineSheetsCells()

DimwsNewWorksheetAsWorksheet

DimcelAsRange

DimDataSource,RowTitle,ColumnTitle,SourceDataRows,SourceDataColumnsAsVariant

DimTitleRow,TitleColumnAsRange

DimNumAsInteger

DimDataRowsAsLong

DataRows=1

DimTitleArr()

DimChoice

DimMyName$,MyFileName$,ActiveSheetName$,AddressAll$,AddressRow$,AddressColumn$,FileDir$,DataSheet$,myDelimiter$

Dimn,i

n=1

i=1

Application.DisplayAlerts=False

Worksheets("合并汇总表").Delete

SetwsNewWorksheet=Worksheets.Add(,after:

=Worksheets(Worksheets.Count))

wsNewWorksheet.Name="合并汇总表"

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

IfMyFileName="False"Then

MsgBox"没有选择文件!

请重新选择一个被合并文件!

",vbInformation,"取消"

Else

Workbooks.OpenFilename:

=MyFileName

Num=ActiveWorkbook.Sheets.Count

MyName=ActiveWorkbook.Name

SetDataSource=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

Fori=1ToNum

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.PasteSpecialPaste:

=xlPasteColumnWidths,Operation:

=xlNone,_

SkipBlanks:

=False,Transpose:

=False

Selection.PasteSpecialPaste:

=xlPasteAll,Operation:

=xlNone,SkipBlanks:

=_

False,Transpose:

=False

Selection.PasteSpecialPaste:

=xlPasteValues,Operation:

=xlNone,SkipBlanks_

:

=False,Transpose:

=False

DataRows=DataRows+SourceDataRows

Workbooks(MyName).Activate

Nexti

Application.ScreenUpdating=True

Application.EnableEvents=True

EndIf

Workbooks(MyName).Close

EndSub

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

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

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

注意:

每个工作表数据可能不一样,比如说有的是10行数据,有的是30行数据。

在这里我们可以用鼠标选择任意工作表的一个较大范围,比如说A1:

D100,保证比最多行数的工作表数据还多就可以,一会再删除空行。

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

注意:

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

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

10、选中全部数据区域,执行自动筛选。

然后选择其中一个字段,选择“空白”和标题内容。

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

END

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1