用VBA代码如下慎败(不会重复,不会出现特定数10):
Sub rnd()
Dim a As Integer, b As Integer, c As Integer
T1:
a = Application.RandBetween(1, 31)
b = Application.RandBetween(1, 31)
c = Application.RandBetween(1, 31)
If Application.Or(a = b, a = c, b = c,a=10,b=10,c=10) Then
GoTo T1
End If
Range("a1") = a
Range("b1") = b
Range("c1") = c
End Sub
效配态果如下(若图片没有显示动宽卖颤画,请点一下图片)
结果返回几个数?又是彩票专业户啊?
用VBA定义一个函数(在判雹模块级中编写代码):
Function RndNum()
Do
RndNum = Int(Rnd() * 31) + 1
Loop Until RndNum <> 10 And RndNum <> 20 '假设不要10和20
End Function
然后在单元格中输入公式:=RndNum()
这样启乱每次回车一次出来的数值都是随机的,范围在1~31,且不会出现10和20。
如果要保证不重复,则有点麻烦,得把生成过的随机数记录下来,然掘旁帆后生成随机数时再去判断是否生成过。
这部分代码就提示到这吧。