操作步国述浓骤:
1、原始数据所在工作簿包含多个格式相同的工作表,只不过每个工作表内容不同,比如说不同人名的工作表数据或者不同部门填写的数据。
2、在原始数据同目录下新建一个工作簿,建立两个工作表,名称分别为“首页”和“合并汇总表”。
3、按Alt+F11进入VBA代码编辑和调试界面。
4、根据下图提示,插入一个模块。
5、将下述代码粘贴到模块空白处:
SubCombineSheetsCells()
DimwsNewWorksheetAsWorksheet
DimcelAsR七曾输渐高长界ange
DimDataSource,RowTitle,ColumnTit360问答le,SourceDataRows,SourceDataColumnsAsVariant
DimTitleRow,TitleC拿础先是还裂olumnAsRange
DimNumAsInteger
DimDataRow多连圆款初护起sAsLong
DataRows=1
DimTitleArr()
DimChoice
DimMyName$,MyFileName$,ActiveSheetName$,AddressAll$,AddressRow$,AddressColumn$,FileDir$,DataSheet$,myDelimi有天及战鲁皇搞建备盟ter$
Dimn,i
n=1
i=1
***.displayalerts=False
Worksheets("合并汇总表").Delete
S概氢块六想胶界风批了毫etwsNewWorksheet=***.add(,after:=Worksheets(***.count))
***.name="合并汇总表"
MyFileName=***.getopenfilename("Excel工作薄(*.xls*),*.xls*")
IfMyFileName="False"Then
MsgBox"没有选择文件!请重新选择一个被合并文件!",vbInformation,"取消"
Else
***证创请整树磁.openFilename:=MyFileName
Num=***.sheets.Count
MyName=***.name
SetDataSource=***.inputbox附州(prompt:="请选择要合并的数据区域:",Type:=8)
AddressAll=***.address
activework马然内罪book.***.range(AddressAll).S倍刘绍毛布elect
S得固老地载企心球立半乙ourceDataRows=selection.***.count
SourceDataColumns=selection.***.count
***.screen调师卷updating=False
***.enableevents=False
Fori=1ToNum
***.sheets(i).Activate
***.sheets(i).Range(Addr穿仅各研essAll).Select
***.copy
ActiveSheetName=activeworkbook.***.name
Workbooks合坏电(***.name).Activate
*标交派季让**.sheets("合并汇总表").Select
***.sheets("合并汇总表").Range("A"&DataRows).Value=ActiveSheetName
***.sheets("合并汇敌沙矛小总表").Range(Cells(DataRows,2),Cells(DataRo刘石仍承径在自ws,2)).Select
***.pastespecialPaste:=xlPasteColumnWidths,Operation:=xlNone,_
SkipBlanks:=False,Transpose:=False
***.pastespecialPaste:=xlPasteAll,Operation:=xlNone,SkipBlanks:=_
False,Transpose:=False
***.pastespecialPaste:=xlPasteValues,Operation:=xlNone,SkipBlanks_
:=False,Transpose:=False
DataRows=DataRows+SourceDataRows
Workbooks(MyName).Activate
Nexti
***.screenupdating=True
***.enableevents=True
EndIf
Workbooks(MyName).Close
EndSub
6、在“首页”工作表中按下图示范插入一个窗体控件并指定宏为插入的代码名称。
7、点击“首页”工作表中插入的按钮,根据提示,浏览到原始数据工作簿。
8、用鼠标选择要合并的数据范围。
注意:每个工作表数据可能不一样,比如说有的是10行数据,有的是30行数据。在这里我们可以用鼠标选择任意工作表的一个较大范围,比如说A1:D100,保证比最多行数的工作表数据还多就可以,一会再删除空行。
9、点击确定按钮,待代码运行完毕后,所有的数据就都合并到了“合并汇总表”中。
注意:
1)A列的文本说明右侧的数据来自于原始数据表的哪个工作表;
2)数据之间会有一些空行,可以通过筛选删除。
10、选中全部数据区域,执行自动筛选。然后选择其中一个字段,选择“空白”和标题内容。
11、然后将筛选出来的无用行鼠标右键删除,再删除A列整列即可,完成效果如下图:
以上就是excel如何快速把多个工作表合并到一个excel表的方法。
标签:excel