VBA excel Rnd语法

时间:2017-08-22 21:03:53

标签: excel vba excel-vba

我理解Rnd函数的基础但是不明白为什么Rnd的次数为负数。任何人都可以帮忙吗

Range("A1")=Formatcurrency(1-2*Rnd,2)

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,但很有可能。

如果您更具体地了解自己要做的事情,可以帮助您完成任务。