复制代码代码如下: 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