返回目录:excel表格制作
有一种方法可以合并多个表格文件为一个表,且不需要写VBA。有一个APP叫做“Merge Excel Files”,主要功能如下:
1、合并excel表中的多个sheet页到一个sheet页中,还可选择垂直合并(从上到下)或者水平合并(从左到右);
2、拆分excel表中的多个sheet页到多个excel表中(即一个sheet页为一个excel文件);
3、合并多个excel表到一个excel表中;
题主的问题是“Excel中有好多个sheet,如何将这些sheet内的数据汇总到一张表中?”,即上述软件功能的第e799bee5baa6e58685e5aeb93621条。现在拿我这边的一个“订购”表实际操作一下,目的是合并“订购”表中的sheet1、sheet2以及sheet3为一个sheet页。具体操作如下:
①首先将数据导入到“Merge Excel Files”中如下图所示区域。
②我这边是选择的垂直合并,即从上到下合并数据。然后点击添加所有文件,即将我们需要合并的三个sheet页都选择合并。如下图所示。
③最后点击菜单栏的“merge excel”按钮,合并并导出最终合并文件即可。
“Merge Excel Files”
软件的获取方式如下:可自行网上搜索下载或者去数据宝典公众号后台留言“合并”获取。
方法/步骤
首先我们要有自己的excel数据,并且我们需要的是microsoft excel,WPS没有这些负责的功能。比如我下面举例的,我自己有205页的数据需要合并,
看到这么多数据页要合并,如果是复制e69da5e6ba907a686964616f366粘贴的话,工作量就很大了。我们现在开始合并,首先要在最前页新建一个工作表。
在新建的sheet表中“右键”,找到“查看代码”,然后看到宏计算界面。
看到宏计算界面,我们就只需要把下面的代码复制进去,代码如下,效果如下:
Sub 合并当前工作簿下的所有工作表()
Application.ScreenUpdating = False
For j = 1 To Sheets.Count
If Sheets(j).Name <> ActiveSheet.Name Then
X = Range("A65536").End(xlUp).Row + 1
Sheets(j).UsedRange.Copy Cells(X, 1)
End If
Next
Range("B1").Select
Application.ScreenUpdating = True
MsgBox "当前工作簿下的全部工作表已经合并完毕!", vbInformation, "提示"
End Sub
做完上面的事情,然后只需要点击工具栏上面的“运行”下的“运行子过程/用户窗体”就可以了,合并完之后会有提示。提示完成之后就可以把宏计算界面关闭了。
6
合并后的效果如下图,我们看到的是合并之后有8000多行,就是205页合并后的结果。谢谢。如有疑问,请留言。
新建一个文件夹,将需要合并的excel文档复制到该文档目录下。
2/7
新建一个EXCEL空白文档,鼠标移动到在sheet工作表上单击右键,选择“查看代码”选e799bee5baa6e997aee7ad94e58685e5aeb9330项,进入VBA控制台。
3/7
在菜单栏点击“插入”菜单,选择“模块”选项,进入模块编辑界面。
4/7
在编辑框中复制以下代码,注意符号,需是英文状态下。
'功能:把多个excel工作簿的第一个sheet工作表合并到一个excel工作簿的多个sheet工作表,新工作表的名称等于原工作簿的名称Sub Books2Sheets() '定义对话框变量 Dim fd As FileDialog Set fd = Application.FileDialog(msoFileDialogFilePicker) '新建一个工作簿 Dim newwb As Workbook Set newwb = Workbooks.Add With fd If .Show = -1 Then '定义单个文件变量 Dim vrtSelectedItem As Variant '定义循环变量 ,开始文件检索,打开被合并工作簿 ,复制工作表,把新工作簿的工作表名字改成被复制工作簿文件名,这儿应用于xls文件,
5/7
代码输入后,点击菜单项中“运行”,选择“运行子过程”选项,或者按下F5快捷键,运行代码。
6/7
运行代码后,会弹出文档选择界面,找到新建文件夹的路径,选择你所需要合并的文档,选择文档后,点击“打开”,代码正在运行,运行时间视文档数目而定。
7/7
代码段运行结束后,就会出现已经合并完成的excel文档界面,新工作表的名称等于原工作簿的名称。
1. 增加一个工作表百sheet,重命名xx 。
2. 点到新增加的工作表中,按ALT+F11,出现如图的对话框。
3.双击名称度xx的图标。出现如下对话框。
4. 在上图红色的区域复制上如下代码。
Sub GetStName()
Dim FinalRow As Long
Dim St As Worksheet
FinalRow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row + 2
For Each St In ThisWorkbook.Worksheets
Cells(FinalRow, 1).Value = St.Name
FinalRow = FinalRow + 1
Next St
End Sub
5.把名称为xx的图表的属性改为sheet1(这需要把原先那个sheet1,改为其他的sheet,不和其他工作专表重复即可
6.点击菜单中的执行的三角符号,就可以属合并所有sheet的工作表内容到一个工作表中