- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
?
?
VBA在多Excel工作薄数据汇总的应用
相同表结构
?
?
论文导读::在工作中常对大量相同表结构的Excel工作薄进行汇总,利用手工复制、粘贴效率不高,本文探讨使用VBA编程对多工作薄数据进行汇总。
关键词:VBA,相同表结构,多工作薄,数据汇总
?
前言
MicrosoftOffice软件是是微软公司开发的办公自动化应用软件,MicrosoftExcel是其中的一个重要的组成部分,由于它包含大量的公式函数对各种大量数据有很强的处理、统计分析能力,广泛地应用于管理、统计、金融等领域。伴随计算机的普及已经成为日常办公不可或缺的工具。
目前使用Excel支持VBA编程,VBA是VisualBasicForApplication的简写,基于是基于VisualBasicforWindows发展而来的。在执行特定功能或重复性高的操作时,使用VBA有助于使工作自动化相同表结构,提高工作效率会计毕业论文范文。另外,由于VBA可以直接应用Office套装软件的各项强大功能,所以对于程序设计人员的程序设计和开发更加方便快捷。
1需求分析
在工作中经常会做数据的收集汇总,制定特定表结构的工作表供其它对象填写,然后回收汇总合并成一个完整表,主要采用手工打开工作表进行复制、粘贴这样简单而重复性较高的操作,容易使人疲惫导致操作错误,难以察觉,工作效率极低。通过VBA可以高效、快速地编制出应用程序,高效完成工作任任务,而且在以后的工作中可以稍加修改或不用修改进行重复使用。
2应用案例
某高校每年都进行职业技能考试,各种类统一报名,班级按制定好格式的报名表填写报名(如图1、图2),之后由负责老师进行汇总成一个表(如图3)。汇总的过程即为重复性的复制、粘贴。本文即是利用VBA编程解决这样一类问题。
?
?
?
2.1应用条件:工作表结构格式化
各班级上交的登记表是考试报名要求的表结构格式是固定的、统一的相同表结构,只是各班报名人数不同,即表中的数据记录行数不同,数据填写在工作薄的第一张工作表中,与工作表名无关。汇总表增加了序号、班级字段(方便后续统计处理)会计毕业论文范文。
2.2数据汇总的具体实现
2.2.1设计思路及界面控件功能设计
首先将所有源工作薄存放于一个文件夹中;新建汇总工作薄在其它文件夹下,在汇总表.xls工作薄中第一个工作表进行界面设计(如图4),编写VBA代码,数据汇总结果存于第二个工作表中,设置好标题行,并进行相关单元格格式设置;用户通过界面中的浏览按钮浏览源工作薄所在的文件夹,获取其路径显示界面中文本框中;并设置源工作表和汇总表的标题行数及要读取的源工作表数据的列数,读取源工作表的数据区域及汇总表的存放位置;然后单击开始按钮执行汇总命令,单击查看按钮查看结果。
?
?
?
2.2.2主要过程、函数代码
(1)点击浏览按钮调用过程代码如下,实现添加源数据文件夹路径
…此处省略打开文件夹对话框代码
以下浏览按钮选择源工作薄文件夹路径
PrivateSubbtnPath_Click()
DimFNameAsString
FName=BrowseFolderA(Caption:=选择源工作薄所在文件夹)
IfFNamevbNullStringThentxtPath.Text=FName
EndSub
(2)开始按钮对应过程,实现将选择的文件夹路径中所有的工作薄中的第一个工作表中的数据导入到汇总表中。
PrivateSubbtnCommit_Click()
…省略了为使代码更快而在运行前保存并关闭Excel相关状态的代码
Dimi,jAsLong
DimrCountAsLong
Dims_Rows,s_Col,s_BeginRowAsLong
Dimt_BeginRow,t_BeginColAsLong
s_BeginRow=txtSRowBegin.Value获取源表要读取的数据起始空
s_Col=txtCols.Value获取源表要读取的数据总列数
t_BeginRow=txtTRowBegin.Value
t_BeginCol=txtTColBegin.Value
以上两行表示汇总表起始写入行/列相同表结构,不包含标题行/新建字段列,并在后面运行过程中自增1下移/右移到新空白行/列供新的数据导入
DimMyFolderAsFolder
DimFileArr
DimMyFileAsFile
DimFilePathAsString
以下打开登记文件夹下所有的文件名
SetMyFSO=CreateObject(Scripting.FileSystemObject)
SetMyFolder=MyF
文档评论(0)