【 tulaoshi.com - 办公软件 】
假设我们将所有考生的成绩合并到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文件用“共享工作簿”的方法共享给老师们以便于他们录入成绩。