excel
新建一张工作表,在sheet1中重命名为学生名单,sheet2中命名为座位表,在学生名单表中输入学生的基本信息,如姓名,性别,身高,视力。如下图
在学生名单表中,进行排序,以身高和视力为标准,以身高为第一排序关键词,视力为次要关键词,具体设置见下图2
打开VB编辑器,编辑几行代码,我们找到“工具”菜单,找到“宏”,找开“visual basic编辑器” ,调出“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处所示的窗口。