当前位置:知识问问>百科问答>如何把几张excel表格合成一个

如何把几张excel表格合成一个

2023-02-28 19:10:57 编辑:join 浏览量:616

操作步国述浓骤:

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

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

如何把几张excel表格合成一个

如何把几张excel表格合成一个

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

如何把几张excel表格合成一个

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

如何把几张excel表格合成一个

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

如何把几张excel表格合成一个

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

如何把几张excel表格合成一个

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

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

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

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

注意:

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

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

如何把几张excel表格合成一个

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

如何把几张excel表格合成一个

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

如何把几张excel表格合成一个

如何把几张excel表格合成一个

以上就是excel如何快速把多个工作表合并到一个excel表的方法。

标签:excel

版权声明:文章由 知识问问 整理收集,来源于互联网或者用户投稿,如有侵权,请联系我们,我们会立即处理。如转载请保留本文链接:https://www.zhshwenwen.com/answer/16400.html
热门文章