VB的不重复点名软件怎么做

VB的不重复点名软件怎么做,第1张

Dim Cx As Integer Private Sub Command1_Click() Randomize Dim a(1 To 10) As String a(1) = "小刘" a(2) = "小李" a(3) = "小马" a(4) = "小张" a(5) = "小秦" a(6) = "小熊" a(7) = "小黄" a(8) = "小兰" a(9) = "小周" a(10) = "小陈" Dim i As Integer sc: i = Int(10 Rnd + 1) If i = Cx Then GoTo sc Cx = i Label1Caption = a(i) End Sub

Randomize 语句

初始化随机数生成器

语法

Randomize [number]

可选的 number 参数是 Variant 或任何有效的数值表达式。

说明

Randomize 用 number 将 Rnd 函数的随机数生成器初始化,该随机数生成器给 number 一个新的种子值。如果省略 number,则用系统计时器返回的值作为新的种子值。

如果没有使用 Randomize,则(无参数的)Rnd 函数使用第一次调用 Rnd 函数的种子值。

注意 若想得到重复的随机数序列,在使用具有数值参数的 Randomize 之前直接调用具有负参数值的 Rnd。使用具有同样 number 值的 Randomize 是不会得到重复的随机数序列的。

Randomize 语句示例

本示例用 Randomize 语句初始化随机数生成器。由于忽略了数值参数, 所以 Randomize 用 Timer 函数的返回值作为新的随机数种子值。

Dim MyValue

Randomize ' 对随机数生成器做初始化的动作。

MyValue = Int((6 Rnd) + 1) ' 生成 1 到 6 之间的随机数值。

我为你写了一个自定义函数,请试下。代码如下:

Function Myrand(PartAre As Range, Part As String) As String

'PartAre 部门所在区域;

'Part 你期望抽查的部门,可以是字符,也可以是单元格

'eg: =Myrand($A$1:$A$8,"ENG") 或者 =Myrand($A$1:$A$8,A3)

partnum = 0

For Each m In PartAre

tmpStr = mText

If UCase(tmpStr) = UCase(Part) Then partnum = partnum + 1

Next m

randnum = Int(partnum Rnd()) + 1

partnum = 0

For Each m In PartAre

tmpStr = mText

If UCase(tmpStr) = UCase(Part) Then

partnum = partnum + 1

If partnum = randnum Then Exit For

End If

Next m

Myrand = Cells(mRow(), mColumn() + 1)Text

End Function

用法:

部门在A1~A8,人员在B1~B8(函数自动从部门后一列取人员),则在其他单元格中输入公式:

=Myrand($A$1:$A$8,"ENG") 或者 =Myrand($A$1:$A$8,A3)

注:A3中的所填写的内容为 ENG

不清楚可以Hi我。

GoodLuck!

以上就是关于VB的不重复点名软件怎么做全部的内容,包括:VB的不重复点名软件怎么做、VB不重复点名软件的问题、在EXCEL中如何用VB做一个随机点名系统等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/zz/9365003.html

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

发表评论

登录后才能评论

评论列表(0条)

保存