excel vba中产生随机数代码是rnd还是rnd() 还是说两者都可以

excel vba中产生随机数代码是rnd还是rnd() 还是说两者都可以,第1张

根据本人的理解,vba中rnd,rnd()都可以用,有括号可以加一个数值参数。

当不用参数时,两者一样。

加参数,则改变默认的“种子数”了。

默认的种子数是什么,根据什么公式算出的随机数,在哪儿看过,对我不重要的。

希望能帮到您。

Sub Rndnum()

dim n as integer

dim t as range

set t = union(range("A1:A9") ,Range("D1:D9"),Range("A11"),Range("D11"))

for each cell in t

    n = int(rnd()20+16)

    cellvalue=range("E" & n)Value

next

end sub

这个应该是符合你的条件,看了你和楼上的互动,我推测你实际区域并不是像你提供的这样是连续区域,而应该是很多个不连续区域吧。用UNION就可以了,可以随便改区域。

这个问题的重点,是前一个,随机4个单元格,那么单元格不能重复,用字典方法最稳妥。随机生成大于等于1,小于等于10的数字循环4次即可。

上述循环中,加上随机0-100的整数,即然没说不能重复,那就简单了。

这个需要用VBA么?Excel函数就搞定了。

当然录制一个宏也没问题。

准备好数据,点击数据分析按钮,如图 *** 作。

我这准备的数据是5个,总概率是1(01,015,02,025,03),分别对应值(1,2,3,4,5)

数值与概率输入区域必须是两列,左边为值,右边为概率。

结果你就选个起始单元格输出吧。

下面是宏脚本

   ApplicationRun "ATPVBAENXLAM!Random", ActiveSheetRange("$A$7"), 5, 1, _

      7, , ActiveSheetRange("$A$1:$B$5")

RND函数的用法如下。格式:Rnd() 功能:求(0,1)之间的一个随机数 语法: Rnd[(number)] 如果number 的值是 Randomize 生成 小于0 ,每次都使用 number 作为随机数种子得到的相同结果。 大于0 ,以上一个随机数为种子产生下一个随机数。 等于0 ,产生与最近生成的随机数相同的随机数。 省略, 以上一个随机数为种子产生下一个随机数。 说明 Rnd 函数返回小于 1 但大于或等于 0 的值。 number 的值决定了 Rnd 生成随机数的方式。

以上就是关于excel vba中产生随机数代码是rnd还是rnd() 还是说两者都可以全部的内容,包括:excel vba中产生随机数代码是rnd还是rnd() 还是说两者都可以、Excel中VBA取固定数值随机数、如何用VBA程序实现在随机的单元格生成随机数字等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9443049.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-28
下一篇2023-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存