logo资料库

1.基于Excel宏语言的数据自动汇总研究_张彦成.pdf

第1页 / 共2页
第2页 / 共2页
资料共2页,全文预览结束
8软件世界》》》投稿邮箱:wysjbjb@163.com基于Excel宏语言的数据自动汇总研究张彦成 北京财贸职业学院【摘 要】利用Excel进行数据抽取汇总时,常需要把位于不同文件夹里大量的具有相同表结构的Excel文件中汇总数据,合并到新的文件中,以便于对数据进行进一步的分析。通过Excel VBA编程,可以自动将指定的数据汇总合并到新的Excel文件中,提高工作效率。【关键词】Excel VBA;相同表结构;多工作表;数据汇总1.背景介绍在院校的教育教学管理工作中,经常遇到数据汇总的工作,将分散数据合并到新的文件中,以便进行数据分析工作。如果采集表数量较少、结构简单,一般是通过手工打开数据表,采用复制、粘贴的方式将数据汇总到一起。这样的简单而繁复的操作,不仅工作效率低,而且容易出错还难以查觉,导致数据汇总的准确率低。因此,准确的从大量相同结构的的复杂工作表中汇总数据是数据处理工作的一个关键环节。Microsoft Excel是微软公司的办公软件Microsoft office的组件之一,它可以进行各种数据的处理、统计分析,广泛地应用于众多领域。VBA(Visual Basic for Applications)是Visual Basic的一种宏语言,主要能用来扩展Windows的应用程序功能,特别是Microsoft Office软件。Excel VBA能够用Excel的宏语言来使Excel自动化,可以规范使用者的操作,控制操作行为,可以制作人性化的操作界面,可以将多个步骤的繁复手工操作通过执行VBA代码迅速、准确的实现。本文将介绍利用Excel VBA开发数据汇总程序,实现从位于不同文件夹内的Excel文件中抽取分散的数据,存放于新生成的Excel文件中。2.案例应用条件分析本案例中,需将位于不同文件夹内的多份格式相同、内容不同的Excel工作表的分散的数据值自动汇总到新的Excel文件中,供数据分析使用,面临的主要问题有3 个:(1)大量相同格式的Excel文件是存放在三个文件夹中,\北京\2013\数据\、\河北\上报\2013\、\天津\2013\,文件夹名称和目录深度各不相同。(2)每个Excel文件中有2个工作表做为源数据,工作表中的数据格式不统一,数据表格式如图1、2所示。图1 源数据工作表1的数据格式图2 源数据工作表2的数据格式(3)汇总后的数据需要按照图3所示的模板格式,存到新生成的文件中。图3 汇总工作表格式因此程序主要解决的问题是:如何处理复杂目录?如何设置循环才能遍历复杂文件夹内的Excel文件,并读取指定的数据值?3.程序设计利用Excel VBA开发数据抽取汇总程序时,灵活运用VBA内置对象进行数据的访问,按不同文件夹生成不同的文件,将复杂问题简单化,既提高运行效率,又具有一定的适应性。程序分为三个部分,具体设计如下:(1)初始应用程序运行环境,利用变量存储路径,可以方便将每个目录下所抽取的数据汇总到单个Excel文件中:大量的数据存储在不同的文件夹中,这些文件所处的文件夹的名称和路径深度是无规则的,这里以相对路径的方式将不同文件夹的路径赋值给变量,便于程序循环调用。‘定义目录变量,存放无规律的目录结构Dim m1 As StringDim m2 As StringDim m3 As String'初始应用程序环境,提高运行效率Application.DisplayAlerts=False Application.ScreenUpdating=FalseApplication.DisplayAlerts=FalseRowStart=4'设置在当前文件写入数据的起始行号'给目录变量赋值,需根据实际目录结构填写m1="\北京\2013\数据\" m2="\河北\上报\2013\"m3="\天津\2013\"(2)利用双层的DO…Loop循环遍历所有的目录和目录中的文件:外层循环是一次访问一个目录,访问的次数为目录变量的数量。内层循环是访问目录路径中的Excel文件,从这些文件中读取数据,并读取数据到模板文件中。i1=1Do'从各个目录读取数据,开始外层循环,并遍历文件夹内的所有文件UserForm1.Show'显示窗体i1=UserForm1.TextBox2.ValueIf i1=12345 ThenGoTo Line2ElseIf i1>3 ThenGoTo Line1End If'确定新产生的文件名Select Case i1Case 1FileName=Path2 & Mid(m1,1,3) & "(2012).xlsx"DirName=m1Case 2FileName=Path2 & Mid(m2,1,3) & "(2012).xlsx"DirName=m2Case 3FileName=Path2 & Mid(m3,1,3) & "(2012).xlsx"DirName=m3End SelectxlsFileCount=0 '单个目录内文件数量计数,用于循环读取此目录内的文件'获取文件名xlsFile=Dir(ThisWorkbook.Path & DirName & "*.xls")If xlsFile=Empty ThenMsgBox Chr(34) & Path & Chr(34) & "目录内没有数据文件,无法汇总,请输入下一个目录号!"GoTo Line1 '跳过空目录,进入其它的目录汇总End If'清空存放数据的区域Rows(RowStart & ":65535").SelectSelection.ClearContentsRange("A1").SelectDo '赋值,开始内层循环,从源Excel工作表中读取数据If(Mid(xlsFile,2,1)="_")And (Mid(xlsFile,7,1)="_") ThenSet VBExcel=CreateObject("Excel.Application")With VBExcel.Visible=True.Left=10.Top=10.Height=400.Width=400.Workbooks.Open FileName:=ThisWorkbook.Path & DirName & xlsFile,UpdateLinks:=0,ReadOnly:=TrueEnd With'选基本情况工作表VBExcel.Worksheets("基本情况").SelectWith ThisWorkbook.ActiveSheetRow=.Range("B65536").End(xlUp).Row+1If Row
9软件世界《《《投稿邮箱:wysjbjb@163.com制到新生成新的数据文件里。RowX=Range(“B65536”).End(xlUp).Row’取当前存放数据的行数'取当前存放数据的列数ColumnY=ThisWorkbook.ActiveSheet.Range("IV3").End(xlToLeft).ColumnColumnYChr=Split(Cells(1,ColumnY).Address,"$")'列数字转换Rows("2:3").Select'选取模板文件里的表头Selection.CopyWorkbooks.Add'创建新工作薄ActiveWindow.Caption="new"'为新工作薄赋标题,方便访问Rows("1:2").Select'选择粘贴的区域ActiveSheet.PasteWindows(OldCaption).Activate'选取模板文件Range("A" & RowStart,ColumnYChr(1) & RowX).SelectSelection.CopyWindows("new").Activate'选取新工作薄Range("A" & (RowStart-1)).SelectActiveSheet.PasteActiveWorkbook.SaveAs (FileName)ActiveWorkbook.Close4.结束语在实际案例中,本文所研究的通用程序,在更改采集数据源和部分内容后,应用在“高职人才培养工作评估数据平台调研”课题中,对31个文件夹,1200个文件进行数据抽取,共生成汇总文件31个,数据值超过10万个,数据准确无误,为进一步的数据分析奠定了基础。取得了非常好的应用效果。使用Excel VBA开发应用程序,进行数据的抽取与汇总,具有简单易用、自动化程度高、通用性强等特点,能够轻松实现手工不能完成的任务,提高了工作效率和数据汇总的准确率。参考文献:[1]John Green,Stephen Bulen,Rob Bovey,Michael Alexander.Excel2007VBA参考大全[M].北京:人民邮电出版社,2009:1-80.作者简介:张彦成,中级职称,北京财贸职业学院科长。浅谈Word基础课教学及实用技巧胡苏瑶 咸宁职业技术学院【摘 要】目前word基础课已成为职业院校的必修科目,在word基础课教学中,教师可以采取引入文档作为参照,循序渐进讲解功能,讲授与实践交替进行相结合的方法,并通过案例、实验、互动教学,促进学生对word实用技巧的掌握。【关键词】word;教学;实用技巧前言计算机文字处理已成为办公的必需,word作为其中一种常用的办公软件,具有画面直观、操作简便、功能全面的优势,目前职业院校计算机课程中已普遍开设word教学。在word基础课教学中,教师应采用多种教学方法,激发学生的学习兴趣,使学生能够立足实践角度,充分掌握word操作技巧,以便在今后的工作岗位中熟练应用。一、word基础课教学的重点和难点目前word基础课已成为职业院校的必修科目,word软件不仅功能强大,而且便于学习和掌握。传统教学方法下,教师主要是从word菜单入手,分别讲解文件、编辑、视图、插入、格式、工具、表格等菜单的使用方法,缺少对知识整体性运用的讲解。随着任务驱动、教学做一体化等方法的应用,word基础课教学不断取得新的成果。目前word基础课教学的重点和难点主要体现在学生对实践技能的掌握,即将word软件操作技能与实践领域对接,善于应用word软件解决工作中的问题。由于office办公软件已经广泛应用于各行各业,文档管理、文字排版、报告书写、制图制表等都需要应用到word软件。职业院校作为培养应用型人才的基地,需要学生充分掌握实践技能,因此,word基础课教学也应当面向实践领域,使学生扎实基本功,积累实用技巧,这样才能在今后的工作中得心应手。二、关于word基础课教学方法的应用为进一步提高教学质量,教师在word基础课教学中应广泛使用多种教学方法,善于激发学生的学习兴趣,引导学生将word菜单中各项独立的功能贯穿起来,立足全局审视和思考word软件的实用性。第一,引入文档作为参照。为将各个菜单的独立功能贯穿起来,教师可以引入现有的文档作为参照,分别就文档中观察到的文字编排特点,详细讲解word菜单中的功能,并且注重对文档整体性的操作。例如,教师可选择学生所熟悉的杂志、报刊、网页中的文档,以此为例,教授学生如何选择合适的纸张页面和字体,如何对字体加粗、加下划线、加阴影,如何调整合适的行距等,从而形成一篇基础文档。在文档的整体操作方面,教师可以为学生演示如何在整篇文档中替换词汇,如何为文档设置背景,引导学生基于文档整体细分菜单功能。第二,循序渐进讲解功能。在以文档为核心的整体教学基础上,教师可以循序渐进、由浅入深向学生讲授word软件更为深入的功能。例如,对文档设置页眉页脚、文档中插入图片、绘制表格、插入目录等也是常用功能,而且更利于体现文档的整体性。由于文字编辑的功能更为复杂和深入,教师应注重理论与实践的结合,善于借助演示、对比等动态教学方法,营造生动的教学情境,从而激发学生的学习兴趣。例如,页眉页脚功能不仅能显示页码,还可以使页眉页脚呈现多种形式,如插入自动图文集,其优势在于自动生成固定格式的页眉页脚;利用word软件绘制表格,还可以使表格线、表格内容、表格背景等实现更为美观的显示。这些功能在报告、杂志、报刊中也十分常见,教师可以逐步引入更加复杂的文档,对比分析与基本文档的差别,鼓励学生探究word软件的深层次功能。第三,讲授与实践交替进行。实践环节是整个教学过程中一个重要的组成部分。在word基础课教学中,教师不仅还要注重创设对学生具有吸引力的教学情境,而且要重视体现学生的主体地位,为学生提供实践锻炼的机会,使讲授与实践交替进行,便于学生及时消化所学知识。学生在进行word软件操作练习过程中,还可以根据自己遇到的问题,随时向教师提问,从而使学生积极参与到课程学习当中,不断夯实基本技能。三、关于word实用技巧的教学策略Word基础课教学是学生掌握实用技巧的前提,更是学生产生探究意识和学习兴趣的前提。当今社会各个行业在办公过程中都需要word软件支持,学生学习word技能技巧,就是为了能够在未来的工作岗位中学以致用。因此,word实用技巧的教学可综合采取案例教学、实验教学、项目教学策略。第一,案例教学。随着学生对word基本技能的掌握,教师应积极引入实践案例,分析word文档的编排技巧,使学生逐步熟悉工作领域的文档工作。例如,在企业经营中常遇到编写计划书、项目书的问题,此时word文档编辑不仅要美观大方,还要突出文件的严谨性和专业性;企业在撰写工作报告、项目报告时,经常应用图表,文档编排讲究图文并茂。这些贴近岗位实际的教学案例具有较强的实用性和代表性,教师应当向学生讲述不同文档编辑的侧重点和应用技巧,帮助学生增强举一反三的能力。第二,实验教学。为提高学生应用word软件的熟练性,教师可采取实验教学策略,增加学生自主学习和锻炼的机会。教师可以将班级内的学生分为若干小组,为每个小组分配一项实验主题,由小组成员共同努力,根据以往所学的word知识和技能,相互探讨,相互交流,共同完成实验任务,然后再与师生一同分享实验成果。实验教学更利于学生直观地看到不同目标要求下的排版效果,开阔视野,积累word软件的应用经验。例如,按照不同的文档网格要求编辑页面,在文档报告中加入逻辑分析图,利用艺术字处理和图形处理设计文档等等,都有助于更好地培养学生的创作能力和实践操作能力。第三,项目教学。经过案例和实验教学后,教师还可以通过模拟项目的方式,综合开展word实用技巧教学。例如,在word软件应用中,常遇到将word文件转换成PDF文件的问题,教师可以向学生演示利用ACROBAT软件或虚拟打印机软件的转换效果;在文档分析修改过程中,常涉及到修订格式的问题;在撰写项目分析或总结报告时,利用word软件图表功能也能生成数据表格等等,这些实践问题对学生的实用技巧要求更高。所以教师应当将较为复杂的问题融入到模拟项目当中,给予学生启发和指导。参考文献:[1]李洁.浅谈Word 的有效教学与使用技巧[J].计算机光盘软件与应用,2013(03).[2]秦建,邹显春.案例教学法在《计算机基础》教学中的应用研究[J].西南师范大学学报(自然科学版),2010(06).[3]尤华钰.计算机基础教学中Word 软件教学方法探究[J].信息通信,2013(03).
分享到:
收藏