首页 > 办公 > Excel > 正文

用Excel给学生轻松排座位的方法介绍

2024-08-23 19:38:03
字体:
来源:转载
供稿:网友
第一步 启动Excel 2003(其他版本操作类似),新建一个名为“排座位”的工作簿,在这个工作簿中主要包括两个工作表——“学生名单”和“座位表”,先在“学生名单”工作表中输入学生的一些基本信息,最后再添加一个“排位”按钮(如图1)。
Office
(图1)
  第二步 “排座位”工作簿“学生名单”工作表中的学生数据输入完毕后,以“身高”或者“视力”为标准对输入的学生数据进行升序排序。具体方法是:先选中“身高”或者“视力”所在的某列单元格,然后单击工具栏中的“升序排序”按钮,在弹出的“排序警告”窗口中单击“排序”按钮即可。
  第三步 按下“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”),再单击窗口中的“确定”按钮,这时就可以看到“座位表”工作表中的排位效果了,如图3,B处所示的窗口。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表