随机且不重复取数VBA代码参考

凌动职场表 2024-04-20 01:46:19

以下这段代码是本人在工作中用到的一段VBA代码,借此地保留下来参考,不喜欢的朋友可以快速划走。

'本程序用于模拟若干个学生中考报名学校志愿填写情况

'本程序保证随机且不重复报名志愿

'本程序参考今日头条[千万别学Excel]UP主的一段代码,特此致谢!

Sub 模拟报名志愿()

'本程序用于模拟若干个学生中考报名学校志愿填写情况

'保证随机且不重复报名志愿

'程序参考今日头条[千万别学Excel]UP主的一段代码,特此致谢!

On Error Resume Next

Dim 报名数 As Integer, 志愿数 As Integer

Dim 志愿表() As Variant

Dim 填报学校 As String

'初始化报名区域、

Range("c2:h20") = ""

For r = 1 To 19 '从第一位学生循环

志愿表 = Range("A1:A6").Value '获取志愿学校

志愿数 = UBound(志愿表)

'随机生成报考学校志愿顺序列表

For c = 3 To 8

报名数 = Int(志愿数 * Rnd + 1) '取随机数

填报学校 = 志愿表(报名数, 1)

'输出中奖者的姓名

Cells(r, c) = 填报学校

For i = 报名数 To 志愿数 - 1

志愿表(i, 1) = 志愿表(i + 1, 1)

Next i

志愿数 = 志愿数 - 1

Next c

Next r

End Sub

0 阅读:0
凌动职场表

凌动职场表

感谢大家的关注