设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 2667|回复: 5
打印 上一主题 下一主题

求助:如何在excel中用VBA为学生安排考场

[复制链接]
跳转到指定楼层
1#
发表于 2006-12-20 03:14:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式



我们学校一个年级有2000多人,要求每场35人,如何实现自动分布考场,既第一行到第三十五行都填1,第三十五行到第七十行都2,依此下去.

先谢谢了

[此贴子已经被作者于2006-12-19 19:14:43编辑过]

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2006-12-20 04:58:00 | 只看该作者
               A列             B列

1行           1              =int(A1/35)+1

2行           2              =int(A2/35)+1

。。。。。。

2000行  2000           =int(A2000/35)+1

[此贴子已经被作者于2006-12-19 21:01:39编辑过]

3#
发表于 2006-12-20 18:16:00 | 只看该作者
试试以下代码,将会在E列自动填充序号。

    Sub Test()
    Dim I, J As Integer
    Dim StudentHeadcount As Integer, ClassRoom As Integer
    StudentHeadcount = 2200
    ClassRoom = IIf(Int(StudentHeadcount / 35) = StudentHeadcount / 35, StudentHeadcount / 35, Int(StudentHeadcount / 35) + 1)
    J = 1
    For I = 1 To StudentHeadcount Step ClassRoom
        Range(Cells(I, 5), Cells(I + ClassRoom - 1, 5)) = J
        J = J + 1
    Next I
    End Sub
4#
 楼主| 发表于 2006-12-20 21:39:00 | 只看该作者

不管呀




首先谢谢两位了,问题:

方法一:在第35行应为1,但是现在却为2,以此类推都是如此.

方法二:如果不是2200人,现在是576人呢,因为不同班型的人数不一样呀.

请见附件

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
5#
发表于 2006-12-21 00:16:00 | 只看该作者
<DIV class=quote>以下是引用xfy8在2006-12-20 13:39:00的发言:



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
6#
 楼主| 发表于 2006-12-21 04:35:00 | 只看该作者
不知能不能这样

第一行到第三十五行都填高三(1)班,第三十五行到第七十行都高三(3)班(既不是高三(2)班),第七十一行到第105行都高三(4)班,以后在以此类推呀.另外每个学生再给一个考号,就是每个学生在考场中的号码如1,2,3,4一直到35.

谢谢

[此贴子已经被作者于2006-12-22 14:42:30编辑过]

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-26 04:37 , Processed in 0.096087 second(s), 30 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表