如何把N个excel子表格里的所有内容复制到另一个电子表格里

简单的说 就是3月1号到31号有31个子表格 里面是格式一样的文本内容。 我要做一个3月份汇总,是非数据的,怎么弄到一张表格里 除了一个一个复制粘贴以外

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

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

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

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

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

Sub CombineSheetsCells()


    Dim wsNewWorksheet As Worksheet

    Dim cel As Range

    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 Choice

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

    Dim n, i

    n = 1

    i = 1

    Application.DisplayAlerts = False

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

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

    wsNewWorksheet.Name = "合并汇总表"



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


    If MyFileName = "False" Then

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


    Else


        Workbooks.Open Filename:=MyFileName


        Num = ActiveWorkbook.Sheets.Count

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

        Application.EnableEvents = False


        For i = 1 To Num

            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.PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _

                                   SkipBlanks:=False, Transpose:=False


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

                                                                                     False, Transpose:=False


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

                                                                            :=False, Transpose:=False



            DataRows = DataRows + SourceDataRows


            Workbooks(MyName).Activate


        Next i



        Application.ScreenUpdating = True


        Application.EnableEvents = True


    End If


    Workbooks(MyName).Close

End Sub

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

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

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

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

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

注意:

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

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

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

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

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-06-08
用INDIRECT函数可以解决,具体看你的工作表名和表格格式。
第2个回答  2013-06-08
你最好将表格和最终的效果图发来,那个会清晰些,回答的比较准确。
第3个回答  2013-06-08
没有别的办法。

如何把N个excel子表格里的所有内容复制到另一个电子表格里
1.原始数据所在工作簿包含多个格式相同的工作表,只不过每个工作表内容不同,比如说不同人名的工作表数据或者不同部门填写的数据。2.在原始数据同目录下新建一个工作簿,建立两个工作表,名称分别为“首页”和“合并汇总表”。3.按Alt+F11进入VBA代码编辑和调试界面。4.根据下图提示,插入一个模块。5....

...的EXCL表格统计表中提取相同行的数据到另一表格进行汇总
1、你这个N张EXCEL表格统计表的命名必须要有个规律,如果在同一个工作簿里最好,如sheet1,sheet2,sheet3...或是表1,表2,表3...不能出现无规律的命名,如张三,李四...(这一步是为下一步准备的)2、举例:比如要将 表1,表2,表3 的A1:A9这9个单元格的数据复制到 表N的A1:A9中...

怎么样可以把N个Excel文档的内容合并到1个Excel文档里?
使用excel的单元格引用功能,先完成第一个表格的合并,然后复制第一个合并后好的单元格引用公式,比如说【='D:\\Downloads\\[a0001.xls]Sheet1'!$B$2】,然后在其他表格窗口里边编辑好下边的单元格引用公式(电子表格的字符串操作应该会吧)='D:\\Downloads\\[a0002.xls]Sheet1'!$B$2 ……='D:\\...

从一个Exceln表格中复制粘贴后,放在另一个Exceln表格(选择——选择性粘...
1、对原文件点击复制。2、用鼠标确定粘贴位置。3、编辑——选择性粘贴——选定粘贴选项——确定。

怎么把几个EXCEL文档中的数据浮动代入另一个文档中从而使这个文档中的...
首先得把你所有的表格都粘贴到同一个excel中不同工作表中,总结表格可以手动输入求和(积)公式,这样设置后你只需改动前面的不合格数据,总结表格的内容就相应完成了。

如何把excel表的文件完整的复制到另一个表格
ctrl+A 全选---ctrl+C 复制---ctrl+n 新建一个表---选中一个单元格---CTRL+V粘贴 搞定

...表格中的固定行列数值提取到一个新的EXCEL表格当中
1、首先打开Excel,如图所示,接着在汇总表中找到需要汇总种类的第一个单元格。2、然后单击选中的单元格,然后在编辑栏输入“=sum(公司1!”。3、接着需要汇总的新单元格中,如图所示,此时单元格边框变成虚线状态。4、然后按住shift键后选中需要汇总的表的最后一张。5、最后,再返回到刚才编辑框中加...

我有n个excel表格,但都是一样的,每个表都是一个单独的文件,怎么把这些...
1、将需要复制到一起的文件放在同一个文件夹中(主要是为了方便,也可以不放在一起);2、为描述方便,假设需要将文件A、B、C、D等都复制到文件A中。打开文件B,用鼠标右键单击需要复制的工作表标签(在文档最下边),出现窗口后,选“移动或复制工作表(M)”,在出现的窗口上有两个备选内容,上...

excel中如何将若干个表中相同的列复制到另一个excel表格中
按ALT+F11调出VBA窗口,插入一个模块,把下面代码复制进去。执行后,会增加一个新的工作表,并把其他表中的D列数据复制到这个新表中,从A列向右粘贴。Sub a()Set N = Sheets.Add Sheets(N.Index).Move Before:=Sheets(1) '(移动到最前面)For i = 2 To Sheets.Count x = Sheets(i).[d...

如何把工作表复制到另一个Exce文档里
把工作表复制到另一个Exce文档里方法,以EXCEL2013为例: 同时打开这两个文档。比如实验文档1要复制到实验文档2 然后在要复制到文档底下右击工作表(实验文档2),弹出菜单选择“移动和复制“。 点击工作簿右边的V标识,弹出选择要复制的文档(实验文档2)。点击“确定”。 这时工作表就被复制过来了。 本回答由电脑网络...

相似回答