欢迎来到天天文库
浏览记录
ID:31022448
大小:104.50 KB
页数:4页
时间:2019-01-05
《excel之vba应用例举》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、Excel之VBA应用例举 摘要:MicrosoftofficeExcel,是一款办公室工作人员常用的办公软件。在应用此软件时,可能会经常进行例如复制粘贴等一些重复的操作,对于一些重复性的操作,可以应用寄生于Excel中的VBA(VisualBasicforApplicattion)语言编写程序模块,使重复的任务自动化,从而提高工作效率。 关键词:ExcelVBA工作效率 一、问题的提出 现在多数高中学校的考试阅卷方式为网上阅卷,而多数阅卷系统在阅卷结束后导出的成绩数据文件为Excel工作簿。以我校2011级(高三年级)为例,该年级共
2、有32个班级,其中文科12个班级、理科20个班级,全学年要进行8次月考,每次月考阅卷完毕,系统会导出一个Excel工作簿文件,12个文科班的成绩存放在一张工作表中,20个理科班的成绩存放在另一张工作表中。最终需要把各班的成绩分离出来,使每个班级的成绩保存在一个独立的Excel工作簿文件中,然后分发给各班。若每次采用复制粘贴的方法完成成绩的分离任务,将耗时2个多小时。下面是笔者针对我校2013级9月份月考成绩数据文件“ykcj9月份.xls”(保存文科班成绩的工作表名为“文科成绩”,保存理科班成绩的工作表名为“理科成绩”。两个工作表中的数据排序
3、方式均以第三列“班级”4为关键字升序排列),运用VBA语言编写的程序模块,运行它在几分钟内就可以把各个理科班的成绩分离出来。 二、程序模块 Subflcj() Dimi,j,mAsInteger DimcAsString Windows(“ykcj9月份”).Activate Sheets(“理科成绩”).Select Rows(1).Select Selection.Copy 下面是建立20个工作簿文件,用于保存各班成绩,并复制粘贴标题行。 Fori=1To20 Workbooks.Add Windows(“book
4、”&i).Activate Sheets(“sheet1”).Select ActiveSheet.Paste Nexti 下面是把1213名理科学生的成绩数据按班级分别保存在“d:\2013级9月份月考”文件夹中,各班级的文件名为班级名称,如“01班”、“02班”等。 Windows(“ykcj9月份”).Activate Sheets(“理科成绩”).Select4 c=Cells(2,3) j=1 m=1 Fori=2To1214 IfcCells(i,3)Then Windows(“book”&j).Activ
5、ate ChDir“d:\20139级月份月考” ActiveWorkbook.SaveAsFilename:=“d:\20139级月份月考\”+c+“班” j=j+1 m=1 Windows(“ykcj9月份”).Activate Sheets(“理科成绩”).Select c=Cells(i,3) EndIf Rows(i).Select Selection.Copy Windows(“book”&j).Activate Sheets(“sheet1”).Select m=m+1 Range(“A”&m).Se
6、lect ActiveSheet.Paste4 Windows(“ykcj9月份”).Activate Sheets(“理科成绩”).Select Nexti Windows(“book”&j).Activate ChDir“d:\2013级9月份月考” ActiveWorkbook.SaveAsFilename:=“d:\2013级9月份月考\”+c+“班” j=j+1 EndSub 三、程序说明 以上代码是把“理科成绩”工作表中包含的20个班级成绩分离出来,并各自保存为一个工作簿文件。若要把“文科成绩”工作表中包含的
7、12个班级成绩分离出来,只需作些修改即可。另外,在运行程序模块之前,要确保成绩数据表中的数据排序方式为按班级升序或降序进行排列。4
此文档下载收益归作者所有