| Sub 分班() Const studentno = 191 '学生人数 Const zdno = 12 '字段数 Dim zd$(zdno) '定义为12个字段的数组 Dim a(studentno, zdno), stu(60, zdno) Dim nam$(studentno), bjname$(60) '定义一个存放全校学生名字及各班学生名字的数组 Dim bj(studentno) '定义存放班级的一个数组 '理科班工作表 Sheets("高三理").Select For i = 2 To studentno bj(i) = ActiveSheet.Cells(i, 1) nam$(i) = ActiveSheet.Cells(i, 2) For j = 3 To zdno a(i, j) = ActiveSheet.Cells(i, j) Next j Next i '存放字段到数组中。 For i = 1 To zdno zd$(i) = ActiveSheet.Cells(1, i) Next i '先建立各个班级的工作表 Sheets("高三理").Select Sheets("高三理").Copy After:=Sheets("分数段") Sheets("高三理 (2)").Select Sheets("高三理 (2)").Name = "33" For i = 2 To studentno For j = 1 To zdno ActiveSheet.Cells(i, j) = Space$(1) Next j Next i Range("a1").Select For i = 1 To zdno ActiveSheet.Cells(1, i) = zd$(i) Next i '34到36班工作表的建立 For i = 34 To 36 x$ = Mid$(Str(33), 2) Sheets(x$).Select Sheets(x$).Copy After:=Sheets("分数段") Sheets(x$ + " (2)").Select Sheets(x$ + " (2)").Name = Mid$(Str(i), 2) Next i '具体分班。 For k = 33 To 36 bjrs = 0 x$ = Mid$(Str(k), 2) no = k Mod 10 Sheets(x$).Select For i = 2 To studentno If bj(i) = no Then bjrs = bjrs + 1 bjname$(bjrs) = nam$(i) For j = 3 To zdno stu(bjrs, j) = a(i, j) Next j End If Next i For i = 2 To bjrs ActiveSheet.Cells(i, 1) = no ActiveSheet.Cells(i, 2) = bjname$(i) For j = 3 To zdno ActiveSheet.Cells(i, j) = stu(i, j) Next j Next i Next k End Sub |
|