感谢各位,请问我的思路是
dim a()
a是个数组内容为(11,22,aa,44,bb)5个元素,假设
每次执行的话随机得到其中一个元素,而不是其中一个数字。也就是说要字符串不要数字。
我试过了rnd但是每次都乱七八糟的,而且是数字不是字符串。
请各位给个代码要是能控制几率就更好了。。
我之前RND每次得到的结果好像都是最高和最低范围内的数,而不是5个其中之一,比如上限55,下限11
中间有22,33,44
也就是
(11,22,33,44,55)
我想得到随机其中一个,每次都是出个什么25,36,48,15这种
小弟VB不是太精,只是稍微懂点,自学的,所以献丑了各位
感谢
dim a()
a是个数组内容为(11,22,aa,44,bb)5个元素,假设
每次执行的话随机得到其中一个元素,而不是其中一个数字。也就是说要字符串不要数字。
我试过了rnd但是每次都乱七八糟的,而且是数字不是字符串。
请各位给个代码要是能控制几率就更好了。。
我之前RND每次得到的结果好像都是最高和最低范围内的数,而不是5个其中之一,比如上限55,下限11
中间有22,33,44
也就是
(11,22,33,44,55)
我想得到随机其中一个,每次都是出个什么25,36,48,15这种
小弟VB不是太精,只是稍微懂点,自学的,所以献丑了各位
感谢
strTmp = "12"
Do While IsNumeric(strTmp)
strTmp = a(Int(rnd()*5))
Loop
MsgBox strTmp控制概率也是可行的,看你要怎样控制。
Dim a(4) As Variant
Dim i As Long
a(0) = 11
a(1) = 22
a(2) = "aa"
a(3) = 44
a(4) = "bb"
i = CLng(Rnd * 5)
Debug.Print a(i), TypeName(a(i))
End Sub
'bb String
' 44 Integer
' 44 Integer
' 22 Integer
'aa String
'bb String
' 11 Integer
'bb String
'bb String
'bb String
' 11 Integer
'aa String
'bb String
'……
将数组中是数字的装入一个新的数组
然后用 新数组(Int(Rnd() * UBound(新数组))) 得到一个随机的元素。