返回列表 回复 发帖

灵犀一指 用Excel轻松排学生座位

  对于一名班主任来说,给学生排座位是常常要做的事。但一个班三四十个学生,排位时得照顾到方方面面,如果按照常规手工编制排位表的方法,不但工作量大,而且缺乏科学性。其实利用Excel只要轻点鼠标就能完成学生的排位工作,下边笔者就给大家介绍一下如何来实现。
+ o) Q6 I  A2 Y1 F  第一步 启动Excel 2003(其他版本操作类似),新建一个名为“排座位”的工作簿,在这个工作簿中主要包括两个工作表——“学生名单”和“座位表”,先在“学生名单”工作表中输入学生的一些基本信息,最后再添加一个“排位”按钮(如图1)。
' n4 w9 f: M# N1 r9 M4 F
5 s; ?8 Q0 d) O' |$ l(图1)
7 d; z! X9 z2 E5 N2 k( v: Q8 H. p( F4 m. D0 w9 r
  第二步 “排座位”工作簿“学生名单”工作表中的学生数据输入完毕后,以“身高”或者“视力”为标准对输入的学生数据进行升序排序。具体方法是:先选中“身高”或者“视力”所在的某列单元格,然后单击工具栏中的“升序排序”按钮,在弹出的“排序警告”窗口中单击“排序”按钮即可。8 @+ ]+ n9 i, m# W  m
' k1 j- r# v8 q0 u
  第三步 按下“Alt+F11”快捷键,调出“Visual Basic 编辑器”,在“Visual Basic 编辑器”窗口中,右击“ThisWorkBook”,选择“插入→模块”命令,插入一个模块,并在右边的代码窗口中输入以下代码:5 Y+ c# e+ V& X) B4 d3 s. o  B
    Sub paizuo()" R( t5 `0 O6 B4 Z, @
    Sheets("座位表").Select   '激活“座位表”工作表
( h9 x1 R8 W1 k" Z+ s) P5 l    Dim Group As Integer '定义表示组数的变量Group& @7 P( A$ z( ?. S+ {% [# q
    Group = Val(InputBox("本班学生分为几组?")) '将输入的数字赋给变量Group% O, M) x7 A3 v9 d" `
    Zuoci (Group) '调用Zuoci函数对学生进行排座
3 w3 i! T5 R! |* N: c% y, F- k9 H    Sheets("座位表").Select7 j, u3 N, G$ x6 t
    End Sub" s8 A* r5 c4 C5 z" T1 |
    Sub Zuoci(gro As Integer)0 |: E# P" h  e3 S' C( s* \
    Dim i As Integer, j As Integer ' 定义循环变量
$ Y. N7 d7 [+ M9 z+ r0 u    Sheets("学生名单").Select   '激活“学生名单”工作表- _" N& @" K' G. C2 j4 T; S
    Dim Irows As Integer, Icols As Integer, Ixs As Integer '定义“座位表”行变量,列变量,及"学生名单"学生行变量
- J5 n5 `6 m, a% v* ~    Irows = 60 / gro '初始化行变量+ Q+ @' e  J4 E( R4 o
    Icols = gro '初始化列变量& E5 K* k, I  \2 u  e
    Ixs = 1 '初始化“学生名单”学生行变量
/ C) N# F1 v* s9 c' b    For i = 1 To Icols '第一位学生自第2行开始
, a; a0 ^- x8 s+ a& I* R    Ixs = i + 1+ ?! C0 J- f: v" [# t
    For j = 2 To Irows + 2
% n% o4 q$ _* i( F        Sheets("座位表").Cells(j, i) = Sheets("学生名单").Cells(Ixs, 1) '给座位表赋值
0 i9 D9 `( x5 J# V( m. B' g        Ixs = Ixs + gro '下一个学生为当前第gro个学生
  S, Y- u5 y8 Y    Next j
) Z! b5 I$ F# ?& G& a4 Z- ]3 O   Next i! E0 u- G% J" N$ w
   End Sub
: C4 A! u( R( [/ g* H& u  代码输入完毕后,退出Visual Basic 编辑器。; K9 C( Q2 w( ?' f
  第四步 右击图1窗口中的“排位”按钮,选择“指定宏”,打开“指定宏”窗口,选中“paizuo”宏,最后单击“确定”。
/ ~/ F" Q! p7 q1 P: K' F; J  完成了以上步骤的操作之后,退出、保存并重新打开“排座位”工作簿,单击“学生名单”工作表中的“排位”按钮,这时就会弹出一个询问全班学生要分为几组的窗口(如图2,A处所示的窗口),在该窗口的文本框中输入对应的数字(如“6”),再单击窗口中的“确定”按钮,这时就可以看到“座位表”工作表中的排位效果了,如图3,B处所示的窗口。$ U, z! M1 K8 K( W
9 V' V! [3 E, R
(图2)8 s7 `* G; ]" w5 r
0 Q/ Q4 x5 c% o# Q$ e  M8 E
  在Excel中完成排位后,只需将“排座位”工作簿中的“座位表”工作表打印出来贴到讲台上,最后按照“座位表”中的学生座次安排给学生排位就可以了。利用Excel给学生排位是不是很方便呀,各位班主任朋友们不妨一试。0 E; V6 q: q. j. i/ I: E
  小提示* m( c2 H4 c7 W; x! |
  在“排座位”工作簿中,“学生名单”工作表主要包括每学生的基本信息,如身高、性别、视力等等,这也是我们在给学生排座位时所要着重考虑的因素。
返回列表