范围的随机值

时间:2011-04-15 12:34:58

标签: excel vba

我有以下代码:

Low = 10
High = 25
R = Int((High - Low + 1) * Rnd() + Low)

Sheets("ITEMS DATA").Range("D4:D39").Value = R

我希望声明的范围返回一个随机数,但它返回整个范围的相同随机数(D4:D39)。我想为所述范围返回一个不同的随机数,但不知道如何。

2 个答案:

答案 0 :(得分:2)

@Mike:

试试这个:

Low = 10
High = 25
For c = 4 To 39
    R = Int((High - Low + 1) * Rnd() + Low)
    Sheets("ITEMS DATA").Cells(c, 4).Value = R
Next

当然,您可以根据自己的喜好更改Cells()方法中的两个参数。

答案 1 :(得分:1)

您创建了一个随机值,将其分配给R,然后将该值放入您的范围内。有几种方法可以做你想做的事。我假设有一个很好的理由不直接将公式粘贴到单元格中,所以:

    Range("B1:B21").Formula = "=Int((A1 - A2)+1) * Rand() + A2"
假设A1和A2分别保持高位和低位,

会这样做。

编辑删除错误的答案,并且已经过测试。