作业帮 > 综合 > 作业

EXCEL2003随机数;

来源:学生作业帮 编辑:搜搜做题作业网作业帮 分类:综合作业 时间:2024/06/11 03:35:48
EXCEL2003随机数;
A1到AX20范围内,生成1到1000的不重复随机整数,可以帮忙写一段这样的VBA代码吗?也希望最后生成的数字不容易被看出什么规律(因为自己复制过一段代码,但最后生成的结果总是每一列的20个数字,总是相邻的,例如A列的数字虽然是随机的,到1到20范围,B列是21到40,C列是41到60''''希望能解决这个问题,又能达到目标的VBA代码),同志,
EXCEL2003随机数;
鼠标右击【Sheet1】,选【查看代码】,会打开VBE的代码窗口!粘贴下面的代码:
Sub ouyang()
Dim a(1000)
Randomize (Timer)
For i = 1 To 1000
a(i) = i
Next
For i = 1000 To 1 Step -1
t = Int(i * Rnd + 1)
tt = a(t)
a(t) = a(i)
a(i) = tt
Next
For i = 1 To 20
For j = 1 To 50
k = k + 1
Cells(i,j) = a(k)
Next
Next
End Sub
按F5运行程序,按Alt + F11回到Excel,去看看A1:AX20的结果吧!
这是一个很“高级”的洗牌的算法!你可以考虑多加点分,以资鼓励哟!