如何在 Excel 中修复 RAND-BETWEEN 替代宏

如何在 Excel 中修复 RAND-BETWEEN 替代宏

我正在寻找具有完全相同功能但保持不变的 RandBetween 替代方案。我正在寻找一个可以做到这一点的宏,我想我找到了一个……

Function RndInt(lowerbound As Integer, upperbound As Integer) As Integer
Static AlreadyRandomized As Boolean

If Not AlreadyRandomized Then

Randomize

AlreadyRandomized = True

End If
RndInt = Int(lowerbound + Rnd() * (upperbound - lowerbound + 1))
End Function

经过测试后,问题似乎在于该函数没有在单元格之间进行选择,而是仅采用上界和下界单元格的值,并且不能像 RandBetween 函数那样运行,在该函数中您可以选择一个上界和下界单元格,它将从这两个单元格之间的所有单元格中进行选择 :/

答案1

您发布的 VBA 完全按照您描述的方式进行操作(RANDBETWEEN从数字范围中选择,而不是从单元格范围中选择),也许您应该以不同的方式使用它:

=INDEX(A1:X1,RndInt(1,COLUMNS(A1:X1))
其中 A1 和 X1 是范围内的第一个和最后一个单元格

相关内容