我理解Rnd函数的基础但是不明白为什么Rnd的次数为负数。任何人都可以帮忙吗
Range("A1")=Formatcurrency(1-2*Rnd,2)
答案 0 :(得分:1)
并非总是消极的。但总的来说,当你想知道VBA中的某些东西时,做一个小样本并打印出来。像这样:
Option Explicit
Sub TestMe()
Dim lngCount As Long
For lngCount = 1 To 5
Debug.Print "----------------"
Debug.Print Rnd
Debug.Print 1 - 2 * Rnd
Debug.Print "----------------"
Next lngCount
End Sub
随机显示以下内容:
----------------
0.5137375
7.403994E-02
----------------
----------------
0.3534727
0.1903317
----------------
----------------
0.2697316
0.888813
----------------
----------------
0.2438452
-0.9581559
----------------
----------------
6.091624E-02
0.2194171
----------------
因此,您可以追踪它以检查消极性的原因。并保持积极的态度:))
答案 1 :(得分:0)
(1-(2 * rnd),2)我认为这是一个操作顺序问题,你得到rand值乘以2然后从1减去它。
该值不会总是小于0,但很有可能。
如果您更具体地了解自己要做的事情,可以帮助您完成任务。