2015学生电脑随机派位工作方案及流程说明

文章来源: 作者: 发布时间:2015年08月19日 点击数:569 字号:

建宁县2015年城区中小学片外新生、中学插班生  

电脑随机派位工作方案及流程说明  

   

一、总体原则  

根据《建宁县人民政府关于印发建宁县城区小学布局调整实施方案的通知》(建政办〔201567) 和《建宁县二○一五年小学毕业班质量检测及初中一年级招生工作意见》(建招委〔201507)相关精神,我县2015年城区中小学片外新生及中学插班生电脑随机派位的登记、核查、摸底工作基本完成。  

二、电脑随机派位时间、地点  

2014819日下午,县教育局六楼会议室。  

三、派位流程  

第一步:打开以“Microsoft Office Excel”编制而成的“建宁县教育局随机派位系统”(软件原理详见后附的《建宁县教育局随机派位系统原理说明》,在名为“TEMP”的工作薄中一次性导入参加本次电脑随机派位对象的信息(参照需要随机派位的《学生花名册》)。  

第二步:名为“随机派位”的工作薄中,点击左上角的“随机派位”按钮,出现提示框后分别输入随机派位到各个学校的学生数(不参加派位的学校填0),最后点击“确定”按钮开始随机派位。  

第三步:随机派位完成后,会出现“随机派位结束”的提示框,点击“确定”按钮,然后导出随机派位结果。  

第四步:得到的随机派位结果,当场打印,相关人员在打印出的派位结果上签字确认,派位结果通过县教育局信息网向社会公布,接受社会监督。  

五、现场公证  

为确保本次电脑随机派位的公平、公正、公开,将邀请人大、政协、纪检监察、新闻媒体等部门有关人员和学校、家长委员会代表进行现场监督。  

   

附:《建宁县教育局随机派位系统原理说明》  

   

建宁县教育局随机派位系统原理说明  

   

一、软件运行原理  

软件在excel中进行VBA编程,首先在过渡表(TEMP表)中计算出参与随机派位的学生总数(实为表格行数,变量r,利函数rnd的随机数功能(代码:Int(Rnd * (r - 1)) + 1),在1r1(第一行为表头)之间产生一个随机数k(随机产生50次随机数,取最后一次随机数),即随机选取的TEMP表行号为k+1,将该行(k+1)所在学生信息剪切到“随机派位”表中,即完成一个学生的派位。往复循环,每循环一次,TEMP表中的人数都减少1个,变量r重新获取,同“随机派位”表中将增加一行,当“随机派位”表中学生数达到某校需要数后,“随机派位结果”列就自动换一个学校,直至最后一个学生被派位完成,程序终止。  

例如:有200个学生,编号1200,电脑随机产生一个1200之间的数字,将这个随机数所在学生信息复制到派位结果中,往复循环,直到所有学生信息复制到派位结果表中。  

二、软件操作说明  

Public k As Integer  

Sub startyaohao()  

yh = 5  

yl = 5  

With Sheets("TEMP")  

arr = .Range("b1:b" & .Range("b65536").End(3).Row)  

r = UBound(arr)  

sxrs = Val(UserForm1.TextBox1.Text)  

cxrs = Val(UserForm1.TextBox2.Text)  

heyanrs = Val(UserForm1.TextBox3.Text)  

xikours = Val(UserForm1.TextBox4.Text)  

UserForm1.Hide  

For j = 1 To r - 1  

arr = .Range("b1:b" & .Range("b65536").End(3).Row)  

r = UBound(arr)  

If j <= sxrs Then  

Sheets("随机派位").Cells(yh, yl + 10).Value = "**学校"  

End If  

If j > sxrs And j <= sxrs + cxrs Then  

Sheets("随机派位").Cells(yh, yl + 10).Value = "**学校"  

End If  

If j > sxrs + cxrs And j <= sxrs + cxrs + heyanrs Then  

Sheets("随机派位").Cells(yh, yl + 10).Value = "**学校"  

End If  

If j > sxrs + heyanrs + cxrs Then  

Sheets("随机派位").Cells(yh, yl + 10).Value = "**学校"  

End If  

For i = 1 To 50  

k = Int(Rnd * (r - 1)) + 1  

Sheets("随机派位").Cells(2, 2).Value = Sheets("TEMP").Cells(k + 1, 2).Value  

Sheets("随机派位").Cells(yh, yl - 1).Value = yh - 4  

Sheets("随机派位").Cells(yh, yl).Value = Sheets("TEMP").Cells(k + 1, 2).Value  

Sheets("随机派位").Cells(yh, yl + 1).Value = Sheets("TEMP").Cells(k + 1, 3).Value  

Sheets("随机派位").Cells(yh, yl + 2).Value = Sheets("TEMP").Cells(k + 1, 4).Value  

Sheets("随机派位").Cells(yh, yl + 3).Value = Sheets("TEMP").Cells(k + 1, 5).Value  

Sheets("随机派位").Cells(yh, yl + 4).Value = Sheets("TEMP").Cells(k + 1, 6).Value  

Sheets("随机派位").Cells(yh, yl + 5).Value = Sheets("TEMP").Cells(k + 1, 7).Value  

Sheets("随机派位").Cells(yh, yl + 6).Value = Sheets("TEMP").Cells(k + 1, 8).Value  

Sheets("随机派位").Cells(yh, yl + 7).Value = Sheets("TEMP").Cells(k + 1, 9).Value  

Sheets("随机派位").Cells(yh, yl + 8).Value = Sheets("TEMP").Cells(k + 1, 10).Value  

Sheets("随机派位").Cells(yh, yl + 9).Value = Sheets("TEMP").Cells(k + 1, 11).Value  

Sheets("随机派位").Cells(yh, yl).Activate  

DoEvents  

Next i  

Sheets("TEMP").Rows(k + 1).Delete  

yh = yh + 1  

Next j  

MsgBox "随机派位结束,注意保存派位结果。"  

End With  

Sheets("随机派位").Range("b2") = " "  

End Sub  

感动 同情 无聊 愤怒 搞笑 难过 高兴 路过
更多
[打印文章] [添加收藏]