【发布时间】:2020-04-21 00:21:07
【问题描述】:
我是一名 VBA 业余爱好者,我正在尝试创建一个自定义函数,该函数从已知范围内返回一个随机值。我一定是对下面的代码做错了,因为它会导致程序崩溃。
您知道如何进行更正以允许函数循环遍历范围的每个单元格,直到单元格值等于随机数,该随机数已被 1 和 1000 任意限制?
非常感谢您的任何想法!
Function RandinList(InRange As Range) As Long
Dim random As Long
Dim cell As Range
Do
random = Int((1000 - 1 + 1) * Rnd + 1)
For Each cell In InRange
If Not random = cell Then Exit For
Next cell
Loop Until cell.Value = random
RandinList = random
End Function
【问题讨论】:
-
知道随机数为什么要循环?
-
目的是从一个范围内随机选择一个数字。
-
换句话说,你没有在你的 sn-p 中使用
cell.Value做任何事情。 -
你是对的。以下是结束循环的适当方式吗?循环直到单元格是随机的
-
我认为你根本不需要在这里循环。