excel高手,有请-随机取数问题
来源:百度知道 编辑:UC知道 时间:2024/06/26 02:01:50
那么,对如何进行每组由小到大的排序呢?还有一个要求:如何在一组数字里不能有相同的数字出现。
非常感谢你们三位的帮助。另外,护国法师,在运行中出现“运行时错误 438,对象不支持改属性或方法”,调试指向“ActiveSheet.Sort.SortFields.Clear”。另外,原来取数按数字大小顺序和范围(如从1-15、16-36、37-50),如果改为一些指定或特定数字,又如何呢?这可能会比较复杂,有一定的难度。真不好意思。
排序问题解决了。但我将每组数量从8个数字改为小于或大于8个的时候,会死机或没有响应,另外你所说的用“大米的方法”,这到底怎么去做?
又改了一下,我想你用的是2003,而我是在2007中测试的.你再试试吧.另外你要将数字改成其他指定数字,可以用大米的方法吧.你试试好了.
Sub random()
Dim a As Integer
Dim b As Integer
a = Int(Rnd() * 500) + 1
b = Int(Rnd() * 8) + 1
For x = 1 To 2000
Do While Cells(a, b).Value <> ""
a = Int(Rnd() * 500) + 1
b = Int(Rnd() * 8) + 1
Loop
Cells(a, b) = Int(Rnd() * 15) + 1
Do While WorksheetFunction.CountIf(Range("a" & a & ":h" & a), Cells(a, b)) > 1
Cells(a, b) = Int(Rnd() * 15) + 1
Loop
Next
For x = 1 To 1200
Do While Cells(a, b).Value <> ""
a = Int(Rnd() * 500) + 1
b = Int(Rnd() * 8) + 1
Loop
Cells(a, b) = Int(Rnd() * 21) + 16
Do While WorksheetFunction.CountIf(Range("a" & a & ":h" & a), Cells(a, b)) > 1
Cells(a, b) = Int(Rnd() * 21) + 16
Loop
Next
For x = 1 To 800
Do While Cells(a, b).Value <> ""