第一步,启动Excel 2003(其他版本操作类似),新建一个名为“Row Seats”的工作簿。本工作簿主要包括两张工作表,——“学生名单”和“座位表”。首先在“学生列表”工作表中输入学生的一些基本信息,然后添加一个“排名”按钮(1)。
(图1)
第二步在“座位安排”工作簿的“学生列表”工作表中输入学生数据后,根据“身高”或“视力”的标准将输入的学生数据按升序排序。具体方法是:先选中“身高”或“视力”所在的一列单元格,然后点击工具栏中的“升序排序”按钮,再在弹出的“排序警告”窗口中点击“排序”按钮。
步骤3:按“Alt F11”快捷键调用Visual Basic编辑器。在Visual Basic编辑器窗口中,右键单击ThisWorkBook,选择“插入模块”命令,插入一个模块,并在右侧的代码窗口中输入以下代码:
复制代码
代码如下:
Sub排座()
床单(“座位表”)。选择“激活座位表工作表”。
“Dim Group As Integer”定义了代表组数的变量组。
Group=Val(InputBox('这个班的学生分成多少组?'))'将输入编号分配给变量组
‘左慈(集团)’调用祖慈函数为学生安排座位。
床单(“座位表”)。挑选
末端接头
子左慈(gro为整数)
' Dim i As Integer,j As Integer '定义循环变量。
工作表(“学生列表”)。选择“激活学生列表工作表”。
Dim Irows As Integer,Icols As Integer,Ixs As Integer '定义“座位列表”的行变量和列变量以及“学生列表”的学生行变量
Irows=60/gro '初始化行变量
“Icols=gro”初始化列变量
Ixs=1 '初始化“学生列表”的学生行变量
对于i=1到Icols,第一个学生从第2行开始。
Ixs=i 1
对于j=2至Irows 2
工作表(“座位列表”)。Cells(j,i)=Sheets('学生列表')。Cells(Ixs,1)'为座位列表赋值。
Ixs=Ixs gro '下一个学生是当前gro的学生。
下一个j
接下来我
末端接头
输入代码后,退出Visual Basic编辑器。
第四步在图1的窗口中右键单击“Rank”按钮,选择“指定宏”,打开“指定宏”窗口,选择“排左”宏,最后点击“确定”。
完成上述步骤后,退出,保存并重新打开“排座次”工作簿,点击“学生名单”工作表中的“排座次”按钮,会弹出一个窗口(2,A处所示的窗口)。在此窗口的文本框中输入相应的数字(如“6”),然后单击窗口中的“确定”按钮。
(图2)
在Excel中完成排名后,只需将“座位表”工作簿中的“座位表”工作表打印出来,粘贴到讲台上即可。最后,你可以根据“座次表”中的座次排列对学生进行排名。用Excel给学生排名不是很方便吗?班主任朋友不妨一试。
技巧
在“座位”工作簿中,“学生名单”工作表主要包括每个学生的基本信息,如身高、性别、视力等。这也是我们给学生安排座位时要考虑的关键因素。