土木在线论坛 \ 建筑设计 \ 鲁班软件 \ 灵犀一指 用Excel轻松排学生座位

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

发布于:2011-08-16 16:11:16 来自:建筑设计/鲁班软件 [复制转发]
第一步 启动Excel 2003(其他版本操作类似),新建一个名为“排座位”的工作簿,在这个工作簿中主要包括两个工作表??“学生名单”和“座位表”,先在“学生名单”工作表中输入学生的一些基本信息,最后再添加一个“排位”按钮
第二步 “排座位”工作簿“学生名单”工作表中的学生数据输入完毕后,以“身高”或者“视力”为标准对输入的学生数据进行升序排序。具体方法是:先选中“身高”或者“视力”所在的某列单元格,然后单击工具栏中的“升序排序”按钮,在弹出的“排序警告”窗口中单击“排序”按钮即可。

  第三步 按下“Alt+F11”快捷键,调出“Visual Basic 编辑器”,在“Visual Basic 编辑器”窗口中,右击“ThisWorkBook”,选择“插入→模块”命令,插入一个模块,并在右边的代码窗口中输入以下代码:

Sub paizuo()
Sheets("座位表").Select '激活“座位表”工作表
Dim Group As Integer '定义表示组数的变量Group
Group = Val(InputBox("本班学生分为几组?")) '将输入的数字赋给变量Group
Zuoci (Group) '调用Zuoci函数对学生进行排座
Sheets("座位表").Select
End Sub
Sub Zuoci(gro As Integer)
Dim i As Integer, j As Integer ' 定义循环变量
Sheets("学生名单").Select '激活“学生名单”工作表
Dim Irows As Integer, Icols As Integer, Ixs As Integer '定义“座位表”行变量,列变量,及"学生名单"学生行变量
Irows = 60 / gro '初始化行变量
Icols = gro '初始化列变量
Ixs = 1 '初始化“学生名单”学生行变量
For i = 1 To Icols '第一位学生自第2行开始
Ixs = i + 1
For j = 2 To Irows + 2
Sheets("座位表").Cells(j, i) = Sheets("学生名单").Cells(Ixs, 1) '给座位表赋值
Ixs = Ixs + gro '下一个学生为当前第gro个学生
Next j
Next i
End Sub

  代码输入完毕后,退出Visual Basic 编辑器。

  第四步 右击图1窗口中的“排位”按钮,选择“指定宏”,打开“指定宏”窗口,选中“paizuo”宏,最后单击“确定”。

  完成了以上步骤的操作之后,退出、保存并重新打开“排座位”工作簿,单击“学生名单”工作表中的“排位”按钮,这时就会弹出一个询问全班学生要分为几组的窗口(如图2,A处所示的窗口),在该窗口的文本框中输入对应的数字(如“6”),再单击窗口中的“确定”按钮,这时就可以看到“座位表”工作表中的排位效果了.
在Excel中完成排位后,只需将“排座位”工作簿中的“座位表”工作表打印出来贴到讲台上,最后按照“座位表”中的学生座次安排给学生排位就可以了。利用Excel给学生排位是不是很方便呀,各位班主任朋友们不妨一试。
这个家伙什么也没有留下。。。

鲁班软件

返回版块

417 条内容 · 0 人订阅

猜你喜欢

阅读下一篇

在Word2003中巧妙粘贴进Excel数据

用户在将Excel中的数据复制到Word2003文档中时,会遇到丢失小数位数或格式不符合要求的情况。例如:将Excel中的整数数字设置为带2位小数的格式,如果仅选中数字并将其复制到Word中,则小数点后的数字将消;如果选中数字所在的单元格并将其复制到Word中,则会连同在Excel中设置的格式一同被粘贴。用户可以借助Word2003的“选择性粘贴”功能进行有选择地粘贴,以Excel2003和Word2003为例,操作步骤如下所述:

回帖成功

经验值 +10