有这么一种情况,就是我们有很多张excel,而且excel表里面的公式基本一样,我们就想快速的把这些excel合并在一起,意思在合并在一个excel页面,这样可以方便我们分析和统计,其实利用excel表的宏计算就可以实现。下面我们就来一起解决这个问题。
前期准备工作(包括相关工具或所使用的原料等)
多个excel表数据
microsoft office
详细的操作方法或具体步骤
我们需要把多个excel表都放在同一个文件夹里面,并在这个文件夹里面新建一个excel。如图所示:


用microsoft excel打开新建的excel表,并右键单击sheet1,找到“查看代码”,单击进去。进去之后就看到了宏计算界面。如图所示:


然后我们把下面这些宏计算的代码复制进去,然后找到工具栏上面的“运行”下的“运行子过程/用户窗体”,代码如下,如图所示:
Sub 合并当前目录下所有工作簿的全部工作表()
Dim MyPath, MyName, AWbName
Dim Wb As Workbook, WbN As String
Dim G As Long
Dim Num As Long
Dim BOX As String
Application.ScreenUpdating=False
MyPath=ActiveWorkbook.Path
MyName=Dir(MyPath & "\" & "*.xls")
AWbName=ActiveWorkbook.Name
Num=0
Do While MyName <> ""
If MyName <> AWbName Then
Set Wb=Workbooks.Open(MyPath & "\" & MyName)
Num=Num + 1
With Workbooks(1).ActiveSheet
.Cells(.Range("B65536").(xlUp).Row + 2, 1)=Left(MyName, Len(MyName) - 4)
For G=1 To Sheets.Count
Wb.Sheets(G).UsedRange.Copy .Cells(.Range("B65536").(xlUp).Row + 1, 1)
Next
WbN=WbN & Chr(13) & Wb.Name
Wb.Close False
With
If
MyName=Dir
Loop
Range("B1").Select
Application.ScreenUpdating=True
MsgBox "共合并了" & Num & "个工作薄下的全部工作表。如下:" & Chr(13) & WbN, vbInformation, "提示"
Sub


运行之后,等待10秒针左右,等运行完毕,就是合并完成之后,会有提示,点确定就可以了。查看合并后的数据,有5000多行,就是同一个文件夹里面17个excel表数据合并后的结果。效果如图所示。


注意事项
金山的WPS没有宏计算功能。只能用microsoft excel来实现。
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。作者声明:本文系本人依照真实经历原创,未经许可,谢绝转载。- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
