如何把在不同文件夹下相同名称的EXCEL表格合并到同一个工作表或工作簿中 同一个目录下的多个excel文件,不同文件名,相同格式,要求...

作者&投稿:岑晶 (若有异议请与网页底部的电邮联系)

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-1-1”,"按住ctrl和点击所有的1-1-1,然后“剪切”,“粘贴”到新建文件夹后,统一再整理到同一个工作表的不同标签中。这是我想到的最笨的法儿 了。

同时打开你所要合并的工作簿 一般一个excel文件有Sheet1 Sheet2 Sheet3 三个工作簿(如果你没有重新命名过的话)右击任意一个工作簿 选复制和移动工作簿到你想合并的工作簿中就可以

我有一个 可以合并工作簿的 模板,但是只能合并 一个文件夹里的,你如果要的话,点我的名字 我的文库里可以免费下载 好用就给个好评

笨办法就是粘贴复制 简单点就就是用个小程序

怎样把不同excel表格合并到一个工作簿中~

5分钟学会在Excel中如何把多个工作表合并成一个表 N常用的技能

这是我搜索来的,希望对您有所帮助。
【解决方案】:
1.将所有格式相同的Excel表格保存到一个文件夹内;
2.在文件夹内新建一个Excel工作表,命名为“汇总表”;
3.打开汇总表,按“Alt + F11”打开VBA开发环境,双击工程资源管理器里面的sheet1(sheet1),在右侧的代码区编写如下代码:
Sub 合并当前目录下所有工作簿的全部工作表()Dim MyPath, MyName, AWbNameDim Wb As Workbook, WbN As StringDim G As LongDim Num, ini As LongApplication.ScreenUpdating = FalseMyPath = ActiveWorkbook.PathMyName = Dir(MyPath & "\" & "*.xls")AWbName = ActiveWorkbook.NameNum = 0ini = 0Do While MyName ""If MyName AWbName ThenSet Wb = Workbooks.Open(MyPath & "\" & MyName)Num = Num + 1With Workbooks(1).ActiveSheetIf ini = 0 ThenWb.Sheets(1).Range(Wb.Sheets(1).Cells(1,1),Wb.Sheets(1).Cells(1,Wb.Sheets(1).UsedRange.Columns.Count)).Copy .Cells(1, 1)ini=1End IfFor G=1 To Sheets.CountWb.Sheets(G).Range(Wb.Sheets(G).Cells(2,1),Wb.Sheets(G).Cells(Wb.Sheets(G).UsedRange.Rows.Count,Wb.Sheets(G).UsedRange.Columns.Count)).Copy .Cells(.Range("A65536").End(xlUp).Row+1,1)NextWbN=WbN & Chr(13) & Wb.NameWb.Close FalseEnd WithEnd IfMyName=DirLoopRange("A1").SelectApplication.ScreenUpdating = TrueMsgBox "共合并了" & Num & "个工作薄下的全部工作表。如下:" & Chr(13) & WbN, vbInformation, "提示"End Sub4.运行代码,系统会自动将所有Excel表格合并到“汇总表”中。

参考资料:
wenda.tianya.cn/question/1421a43af56f4c4ehi.baidu.com/num006/item/1a5658f8039b812c753c4c68

如何在一个文件夹中包含同名文件?
答:这样就在E盘目录下新建了一个名为abc的文件夹 接下来我们再使用命令新建一个同名的文件夹,我们输入命令md "e:\abc \",输入命令之后回车即可 这里需要注意的就是第二条命令,md "e:\abc \",第二条命令是需要加上双引号,而且abc后面还在多打一个空格,就有有两个相同名称的文件夹了 ...

...不同的文件,批量覆盖到指定的多个文件夹下的同名文件吗?
答:echo offrem 将一个文件夹里的文件覆盖替换掉另一个文件夹下的多个子文件夹里的同名文件set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4title %#% +%$%%$%/%@% %z%cd /d "%~dp0"set "folder1=D:\files"set "folder2=E:"if not exist "%folder1%" (echo;"%folder...

Excel如何把相同名称的不同内容合并在一起,不是求和
答:以WPS 2019版为例 1、打开表格 2、选中姓名列,复制粘贴至C列 3、选中C列数据,依次点击“数据”--->“删除重复项”即可~

如何在同一文件夹里多个excel名称后面加相同的字
答:批量在文件名后加相同的文字的方法:工具软件:优速文件批量重命名 步骤1,打开工具软件“优速文件批量重命名”,然后点击左上角的【添加文件】按钮,批量将文件全部添加到软件中(打开文件所在文件夹,单击一个文件,然后同时按住ctrl+A键,就可以选中全部文件)。步骤2,如下图所示左边为设置区域,文件名...

如何对同一文件夹下多个相同EXCEL表格中相同单元格内容进行批量修改...
答:excel如何批量修改同一文件夹多个工作薄中的数据 把所有的工作簿拷到同一个文件中,批量修改完后,再存成不同的文件。如何在EXCEL表格中汇总不同单元格相同的内容,如下图 假设A列是物品名,B列是数量,C列是金额 那 =sumif(A:A,"机油",B:B) 这是计算机油数量的 同理 =sumif(A:...

局域网中同一台电脑里面的多个共享文件夹可以重名吗
答:不能设为相同的共享名,假如你先把D盘文件夹共享为123456,再共享E盘的也想设为123456,系统会提示有过同名共享的,一定要继续,会共享E盘的文件夹,而把D盘的那个共享取消。

如何批量去掉大量文件名中相同的前缀?
答:1、下载一个批量修改文件名的软件,refilesname,打开软件。2、打开软件之后选择文件木兰,然后把要去掉的前缀输入进去查找一栏,替换成一栏可点击空格,都填好之后,点击开始替换。3、替换完成之后,【冬吴相对论】就被删除掉。

如何将文件批量移动到带有同名的文件夹内?
答:复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的文件放一起运行 echo off&mode con lines=3000rem 根据文件和文件夹的名称中都包含有的部分相同字符串,将文件移动到对应的文件夹里set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4title %#% +%$%%$%/%@% %z%cd /d...

将不同目录的相同文件夹复制到指定文件夹中并分别取不同的名称
答:D:\321\abc D:\213\abc 现在我都要复制到 E:\def 文件夹下 你复制第一个abc,没问题。def下没有abc文件夹 你复制第二个abc,有问题,系统询问是否覆盖,你选择否则不复制。你进入 D:\321 把 abc 改名,随便你改啥。然后复制到 E:\def 文件夹下,没问题,文件夹下没有重名文件 同样的...

同一个目录下的多个excel文件,不同文件名,相同格式,要求将所有数据合并...
答:这是我搜索来的,希望对您有所帮助。【解决方案】:1.将所有格式相同的Excel表格保存到一个文件夹内;2.在文件夹内新建一个Excel工作表,命名为“汇总表”;3.打开汇总表,按“Alt + F11”打开VBA开发环境,双击工程资源管理器里面的sheet1(sheet1),在右侧的代码区编写如下代码:Sub 合并当前目录...