求Excel抽奖程序,有一个30人的名单,每点击一下按钮就不重复抽取并显示一个姓名,直至30人全部抽完。

求Excel抽奖程序,有一个30人的名单,每点击一下按钮就不重复抽取并显示一个姓名,直至30人全部抽完。,第1张

你需要再加一个初始化按钮,代码如下(commandbutton1就是你的next,commandbutton2是初始化按钮)

Dim arr(), count

Private Sub CommandButton1_Click()

If count <= 29 Then

n = Int(Rnd (UBound(arr) - LBound(arr) + 1)) + LBound(arr)

TextBox1Text = arr(n)

Cells(count + 1, 10) = arr(n) '测试代码可删除

Cells(count + 1, 11) = n '测试代码可删除

count = count + 1

arr(n) = arr(UBound(arr))

If UBound(arr) > 1 Then ReDim Preserve arr(1 To UBound(arr) - 1)

Else

MsgBox "所有人员都已抽完"

End If

End Sub

Private Sub CommandButton2_Click()

ReDim arr(1 To 30)

Randomize

TextBox1Text = ""

For i = 1 To 30

arr(i) = Cells(i, 1)

Next

MsgBox "已初始化"

count = 0

End Sub

要求描述不清楚。

如果只产生一组30个数字,要求数字不能重复。大致的算法如下

设置变量 i=1 to 30

产生一个 1 to 100-i+1的随机数 给变量sjs

将第sjs个数字 给到数组 sz(i) ‘注:这个数组SZ用于存放结果的

对原始的100个数组进行调整,删除掉被取走的数字

结束循环

将数组sz输出到表格中

以上就是关于求Excel抽奖程序,有一个30人的名单,每点击一下按钮就不重复抽取并显示一个姓名,直至30人全部抽完。全部的内容,包括:求Excel抽奖程序,有一个30人的名单,每点击一下按钮就不重复抽取并显示一个姓名,直至30人全部抽完。、Excel微信30元红包、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10139408.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存