芜湖电脑维修网为您报时:
·设为首页 ·加入收藏 ·关于我们
本站首页 硬件专题 软件专题 网络专题 硬件故障 软件故障 服务项目 过客留言 免费链盟 供求信息
最新更新:
现在位置:芜湖电脑维修网->软件专题
Excel宏的应用-成绩分析处理程序(一)
时间:2007-12-23 15:33:14 来源:芜湖电脑维修网 作者:admin 编辑: 【关闭

一.分班
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

用户:
查看评论
您要为您所发的言论的后果负责,故请各位遵纪守法并注意语言文明。
留言:
◆ 文章搜索 ◆
标题:

◆ 文章推荐 ◆
◆ 商家广告 ◆