一种利用vba实现多个excel数据表合并数据的方法

文档序号:6634593阅读:4580来源:国知局
一种利用vba实现多个excel数据表合并数据的方法
【专利摘要】本发明公开一种利用VBA实现多个EXCEL数据表合并数据的方法,属于数据表应用领域,在安装MicrosoftExcel前提下,具体步骤为:①将需要合并的所有电子表格放置在同一文件夹下;②启动EXCEL;③在文件夹下新建一个EXCEL文件;④打开新建的EXCEL文件,按快捷键alt+F11,点击“视图”-“代码窗口”,设定VBA程序拷贝到“代码窗口”下;⑤点击“运行”-“运行子过程/用户窗体”,自动合并文件夹下的数据表到新建的EXCEL文件下,合并完毕显示合并的工作表数量和文件名列表;本发明通过VBA实现将多个电子数据表格的自动化汇总,简化了多个数据表的合并,提高了工作效率。
【专利说明】—种利用VBA实现多个EXCEL数据表合并数据的方法

【技术领域】
[0001]本发明公开一种多个数据表合并数据的方法,属于数据表应用领域,具体地说是一种利用VBA实现多个数据表合并数据的方法。

【背景技术】
[0002]Microsoft Excel 由 Microsoft 为使用 Windows 和 Apple Macintosh 操作系统的电脑而编写和运行的一款电子表格软件。直观的界面、出色的计算功能和图表工具,再加上成功的市场营销,使Excel成为最流行的微机数据处理软件。Excel是Microsoft Officesystem的电子表格程序。您可以使用Excel创建工作簿并设置工作簿格式,以便分析数据和做出更明智的业务决策。特别是,您可以使用Excel跟踪数据,生成数据分析模型,编写公式以对数据进行计算,以多种方式透视数据,并以各种具有专业外观的图表来显示数据。简而言之:Excel是用来更方便处理数据的办公软件,Excel的用途还包括:会计专用、预算、帐单和销售、报表、计划跟踪、使用日历等。现实生活中经常会有需要将各个分散的EXCEL电子数据表汇总到一起的情况,而逐一拷贝汇总费时又费力,为更好解决这一问题,本发明提供一种利用VBA实现多个EXCEL数据表合并数据的方法,简单易操作,将多个EXCEL数据表的数据快速合并到一个EXCEL数据表中,保证数据的整合的准确率,确保数据不缺失。


【发明内容】

[0003]本发明针对现有技术存在的不足和问题,提供一种利用VBA实现多个数据表合并数据的方法,,提出的具体方案是:
一种利用VBA实现多个数据表合并数据的方法,在安装Microsoft Excel前提下,具体步骤为:
①将需要合并的所有电子表格放置在同一文件夹下;
②启动EXCEL;
③在需要合并的电子表格所在的文件夹下新建一个EXCEL文件;
④打开新建的EXCEL文件,按快捷键alt+Fll,进入EXCEL的VBA编辑状态,点击“视图“代码窗口”,设定VBA程序拷贝到“代码窗口”下;VBA程序如下:
Sub合并当前目录下所有工作簿的全部工作表O
Dim MyPathj MyNamej AWbName
Dim Wb As Workbook, WbN As String
Dim G As Long
Dim Num As Long
Dim BOX As String
Applicat1n.ScreenUpdating = False
MyPath = ActiveWorkbook.Path
MyName = Dir(MyPath & "\" & "*.xls")
AWbName = ActiveWorkbook.Name
Num = 0
Do While MyName O ""
If MyName O AWbName Then
Set Wb = Workbooks.0pen(MyPath & 〃\" & MyName)
Num = Num + I
With Workbooks(I).ActiveSheet
?Cells (.Range ("A65536").End (xlUp).Row + 2,I) = Left (MyNamej Len (MyName)-
4)
For G = I To Sheets.Count
Wb.Sheets (G).UsedRange.Copy.Cells (.Range ("A65536").End (xlUp).Row + 1,I)
Next
WbN = WbN & Chr (13) & Wb.Name
Wb.Close False
End With
End If
MyName = Dir
Loop
Range("Al").Select
Applicat1n.ScreenUpdating = True
MsgBox 〃共合并了〃 & Num & 〃个工作薄下的全部工作表。如下:〃 & Chr(13) & WbNjvblnformat1n, 〃 提不〃
End Sub
⑤点击“运行“运行子过程/用户窗体”,VBA程序开始自动合并文件夹下的数据表到新建的EXCEL文件下,合并完毕,显示总共合并了几个EXCEL工作薄下的工作表,并显示合并的数据文件的文件名列表。
[0004]本发明的有益之处是:本发明通过EXCEL下的VBA编程,实现将多个电子数据表格的自动化汇总,简化了多个数据表的合并,提高了工作效率。

【具体实施方式】
[0005]对本发明以具体实例进行说明:
一种利用VBA实现多个数据表合并数据的方法,在安装Microsoft Excel前提下,具体步骤为:
将8个工资报表的电子表格放置在同一文件夹下;例如文件夹名为工资报表;
②启动EXCEL;
③在工资报表这个文件夹下新建一个EXCEL文件;命名为汇总工资表;
④打开汇总工资表,按快捷键alt+Fll,进入EXCEL的VBA编辑状态,点击“视图“代码窗口 ”,设定VBA程序拷贝到“代码窗口 ”下;VBA程序如下: Sub合并当前目录下所有工作簿的全部工作表O
Dim MyPathj MyNamej AWbName
Dim Wb As Workbook, WbN As String
Dim G As Long
Dim Num As Long
Dim BOX As String
Applicat1n.ScreenUpdating = False
MyPath = ActiveWorkbook.Path
MyName = Dir(MyPath & "\" & "*.xls")
AWbName = ActiveWorkbook.Name
Num = 0
Do While MyName O ""
If MyName O AWbName Then
Set Wb = Workbooks.0pen(MyPath & 〃\" & MyName)
Num = Num + I
With Workbooks(I).ActiveSheet
?Cells (.Range ("A65536").End (xlUp).Row + 2,I) = Left (MyNamej Len (MyName)-
4)
For G = I To Sheets.Count
Wb.Sheets (G).UsedRange.Copy.Cells (.Range ("A65536").End (xlUp).Row + 1,I)
Next
WbN = WbN & Chr (13) & Wb.Name
Wb.Close False
End With
End If
MyName = Dir
Loop
Range("Al").Select
Applicat1n.ScreenUpdating = True
MsgBox 〃共合并了〃 & Num & 〃个工作薄下的全部工作表。如下:〃 & Chr(13) & WbNjvblnformat1n, 〃 提不〃
End Sub
⑤点击“运行”-“运行子过程/用户窗体”,VBA程序开始自动合并工资报表这个文件夹下的数据表到汇总工资表下,合并完毕,显示总共合并了 8个EXCEL工作薄下的工作表,并显示合并的数据文件的文件名列表为I月工资表,2月工资表,3月工资表,4月工资表,5月工资表,6月工资表,7月工资表,8月工资表。
【权利要求】
1.一种利用VBA实现多个数据表合并数据的方法,在安装Microsoft Excel前提下,具体步骤为: ①将需要合并的所有电子表格放置在同一文件夹下; ②启动EXCEL; ③在需要合并的电子表格所在的文件夹下新建一个EXCEL文件; ④打开新建的EXCEL文件,按快捷键alt+Fll,进入EXCEL的VBA编辑状态,点击“视图“代码窗口”,设定VBA程序拷贝到“代码窗口”下;VBA程序如下: Sub合并当前目录下所有工作簿的全部工作表O
Dim MyPathj MyNamej AWbName
Dim Wb As Workbook, WbN As String
Dim G As Long
Dim Num As Long
Dim BOX As String
Applicat1n.ScreenUpdating = False
MyPath = ActiveWorkbook.Path
MyName = Dir(MyPath & "\" & "*.xls")
AWbName = ActiveWorkbook.Name
Num = 0 Do While MyName O "" If MyName O AWbName Then
Set Wb = Workbooks.0pen(MyPath & 〃\" & MyName)
Num = Num + I
With Workbooks(I).ActiveSheet
? Cells (.Range ("A65536").End (xlUp).Row + 2,I) = Left (MyNamej Len (MyName)-4)
For G = I To Sheets.Count
Wb.Sheets (G).UsedRange.Copy.Cells (.Range ("A65536").End (xlUp).Row + 1,I)
Next
WbN = WbN & Chr (13) & Wb.Name
Wb.Close False
End With
End If
MyName = Dir
Loop
Range("Al").Select
Applicat1n.ScreenUpdating = True MsgBox 〃共合并了 〃 & Num & 〃个工作薄下的全部工作表 如下:"& Chr (13) & WbNj vblnformat1n, 〃提不"
End Sub ⑤点击“运行”-“运行子过程/用户窗体”,VBA程序开始自动合并文件夹下的数据表到新建的EXCEL文件下,合并完毕,显示总共合并了几个EXCEL工作薄下的工作表,并显示合并的数据文件的文件名列表。
【文档编号】G06F17/24GK104391832SQ201410656067
【公开日】2015年3月4日 申请日期:2014年11月18日 优先权日:2014年11月18日
【发明者】孟繁芸 申请人:浪潮电子信息产业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1