www.zhiqu.org     时间: 2024-05-16
如何利用EXCEL随机数字生成器生成随机数~

首先介绍一下如何用RAND()函数来生成随机数(同时返回多个值时是不重复的)。
如下图所示,在单元格中输入=RAND(),回车后单元格即返回了一个随机数字。

RAND()函数返回的随机数字的范围是大于0小于1。因此,也可以用它做基础来生成给定范围内的随机数字。

生成制定范围的随机数方法是这样的,假设给定数字范围最小是A,最大是B,公式是:
=A+RAND()*(B-A)。
举例来说,要生成大于60小于100的随机数字,因为(100-60)*RAND()返回结果是0到40之间,加上范围的下限60就返回了60到100之间的数字。



上面RAND()函数返回的0到1之间的随机小数,如果要生成随机整数的话就需要用RANDBETWEEN()函数了,如下图该函数生成大于等于1小于等于100的随机整数。
这个函数的语法是这样的:=RANDBETWEEN(范围下限整数,范围上限整数),结果返回包含上下限在内的整数。注意:上限和下限也可以不是整数,并且可以是负数。

5
RAND()和RANDBETWEEN()是生成随机数的基础函数,也可以灵活变通。比如说要生成0.01至1之间包含两位小数的随机数,则可用下图的公式实现:

VB中有专门生成随机数的函数 .
给你的代码,你加进去,并添上相应控件就行了.然后看下代码就很容易明白了.谢谢.
Private Sub Form_Load()
Command1.Caption = "随机画圆"
Command2.Caption = "随机文字"
Command3.Caption = "立体图形"
Command4.Caption = "随机图像"
Command5.Caption = "退出"
Form1.ScaleMode = 1
Picture1.ScaleMode = 1
Picture2.Picture = LoadPicture("D:\My Documents\My Pictures\hah.jpg")
End Sub
'注释: 随机画圆动画
Private Sub Command1_Click()
Dim XPos, YPos
Picture1.Cls
Do
nn = Int(100 * Rnd)
If nn > 0 Then
Picture1.DrawWidth = nn
End If
XPos = Rnd * Picture1.ScaleWidth
YPos = Rnd * Picture1.ScaleHeight
Picture1.PSet (XPos, YPos), RGB(Rnd * 256, Rnd * 256, Rnd * 256)
DoEvents
Loop
End Sub
'注释: 随机文字动画
Private Sub Command2_Click()
Picture1.Cls
Do
nn = Int(45 * Rnd)
If nn > 0 Then
Picture1.FontSize = nn
End If
Picture1.CurrentX = Rnd * Picture1.ScaleWidth - 1000
Picture1.CurrentY = Rnd * Picture1.ScaleHeight
Picture1.ForeColor = RGB(Rnd * 256, Rnd * 256, Rnd * 256)
Picture1.Print "enjin 你个猪!"
n = n + 1
If n > 50 Then
n = 0
Picture1.BackColor = QBColor(Rnd * 15)
End If
DoEvents
Loop
End Sub
'注释: 立体随机动画
Private Sub Command3_Click()
Dim m, n
Picture1.DrawWidth = 1
Picture1.BackColor = RGB(210, 150, 0)
Picture1.Cls
Do
m = Rnd * Picture1.ScaleWidth
n = Rnd * Picture1.ScaleHeight - 500
For i = 0 To Rnd * 800
Picture1.Line (m, n + 2.5 * i)-(m + i / 2, n + 2 * i), RGB(180, 180, 180)
Picture1.Line (m, n + 2.5 * i)-(m - i / 2, n + 2 * i), RGB(80, 80, 80)
Next i
DoEvents
Loop
End Sub
'注释: 随机图像显示
Private Sub Command4_Click()
Do
xx = Rnd * Picture1.Width
yy = Rnd * Picture1.Height
Picture1.PaintPicture Picture2.Picture, xx, yy, Picture2.Width, Picture2.Height
DoEvents
Loop
End Sub

'注释: 退出按钮
Private Sub Command5_Click()
End
End Sub