[发明专利]一种利用VBA实现多个EXCEL数据表合并数据的方法在审
申请号: | 201410656067.0 | 申请日: | 2014-11-18 |
公开(公告)号: | CN104391832A | 公开(公告)日: | 2015-03-04 |
发明(设计)人: | 孟繁芸 | 申请(专利权)人: | 浪潮电子信息产业股份有限公司 |
主分类号: | G06F17/24 | 分类号: | G06F17/24 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 姜明 |
地址: | 250101 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 利用 vba 实现 excel 数据表 合并 数据 方法 | ||
1.一种利用VBA实现多个数据表合并数据的方法,在安装Microsoft Excel前提下,具体步骤为:
①将需要合并的所有电子表格放置在同一文件夹下;
②启动EXCEL;
③在需要合并的电子表格所在的文件夹下新建一个EXCEL文件;
④打开新建的EXCEL文件,按快捷键alt+F11,进入EXCEL的VBA编辑状态,点击“视图”-“代码窗口”,设定VBA程序拷贝到“代码窗口”下;VBA程序如下:
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(A65536).End(xlUp).Row + 2, 1) = Left(MyName, Len(MyName) - 4)
For G = 1 To Sheets.Count
Wb.Sheets(G).UsedRange.Copy .Cells(.Range(A65536).End(xlUp).Row + 1, 1)
Next
WbN = WbN & Chr(13) & Wb.Name
Wb.Close False
End With
End If
MyName = Dir
Loop
Range(A1).Select
Application.ScreenUpdating = True
MsgBox 共合并了 & Num & 个工作薄下的全部工作表
如下: & Chr(13) & WbN, vbInformation, 提示
End Sub
⑤点击“运行”-“运行子过程/用户窗体”,VBA程序开始自动合并文件夹下的数据表到新建的EXCEL文件下,合并完毕,显示总共合并了几个EXCEL工作薄下的工作表,并显示合并的数据文件的文件名列表。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮电子信息产业股份有限公司,未经浪潮电子信息产业股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410656067.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:杀真菌吡唑混合物
- 下一篇:一种基于逆向工程的模型库构造方法