OFFICE学习资料 | OFFICE资源下载 | OFFICE知识问答      
设为首页
加入收藏
联系站长
  当前位置:Office学院 >> Excel >> Excel实例学习 >> 正文
利用VBA把多个EXCLE表格中的成绩单合并在一起
[2006年12月26日]  点击数: 【字体: 】【双击滚屏
 
每次考完试,学校的教务部门都要将各班提交的成绩进行汇总和分析。由于各班的成绩表都是单独提交的,如何将所有班级的成绩合并到一张工作表上以便于数据的处理呢?这些操作我们平时都是通过复制粘贴来实现的,如果要合并的班级很多,就显得比较繁琐了,而且容易出错。笔者所在学校也有这样的问题,经过一番研究,我用VBA轻轻松松地实现了这一操作。

假设我们将所有考生的成绩合并到Sheet1中。在当前的工作表中用“控件工具箱”画一个命令按钮并命名为“合并成绩”(如图所示),双击后在其Click事件中输入下面的代码:
Private Sub CommandButton1_Click()
'统计要合并的工作表的数量(循环次数)
For i = 2 To Sheets.Count
Worksheets(i).Select
'选择各工作表中的数据区域并复制
Worksheets(i).Select
'选择各工作表中的数据区域并复制
irow = Worksheets(i).[B65536].End(xlUp).Row
ActiveSheet.Range("A2:AA" && irow).Select
Selection.Copy
'粘贴到第一张工作表中
Worksheets(1).Select
mrow = [a65536].End(xlUp).Row + 1
Range("A" && mrow).Select
ActiveSheet.Paste
Next i
'主体程序执行完毕
[a1].Select
CommandButton1.Enabled = False
countall = "一共合并了" + Str([a65536].End(xlUp).Row - 1) + "个学生的成绩,数据表合并成功!"
MsgBox countall, vbOKOnly, "提示信息"
End Sub
程序中“ActiveSheet.Range("A2:AA" && irow).Select”的功能用于选择每张工作表除了第一行以外的数据区域(第一张工作表除外)。
小提示:在进行本操作之前,首先要保证每张工作表的字段顺序是一致的,且每张成绩中第一行是表格的标题行。要做到这一点也行容易,可事先将制作好的Excel文件用“共享工作簿”的方法共享给老师们以便于他们录入成绩。

我要提问
上一篇:用函数自动提取身份证号码中的出生日期和性别信息
下一篇:使用Excel真正的四舍五入避免在财务运算中出现误差
最新文章
Excel帮你填写报名信息卡03/07
Excel2000中用宏和VBA做成绩统计01/13
利用EXCEL进行学生成绩管理--快速转换学生考01/13
用EXCEL轻松的处理学生成绩01/08
用EXCEL轻松的准备考前工作01/08
Excel中用VBA宏自动统计成绩01/08
巧用excel为学生考试成绩排名01/08
利用EXCEL进行学生成绩管理01/08
热门文章
相关文章
用Word“邮件合并”生成通知单
介绍Word邮件合并技巧四则帮你提
Word与Outlook联系人的邮件合并
邮件合并格式化问题
运用“邮件合并”提高办公效率
用OFFICE邮件合并功能给多个人写
Word中的“邮件合并”功能妙用
Excel 2000单元格内容的合并
office知识问答 | office资源下载
备案许可证号: 津ICP备06003561号
版权所有:Office学院 www.officeXY.com
OFFICE学院致力于成就华人社区最受欢迎的office办公软件学习园地;为大家提供word、excel、access、FrontPage、PowerPoint等Office各个系列产品的最全的教程、用法、技巧、方案;并竭力打造最方便的问题解答系统