ありApplication.Worksheetfunction.RandBetween(0, 1)
はあるが、それだけで全体の数を返します:0または1、Iは、ワークシート関数Rand()
のと同等であるどのような0と1エクセルVBAランダム関数
間の全体ではないnumberrがを必要としながら?
ありApplication.Worksheetfunction.RandBetween(0, 1)
はあるが、それだけで全体の数を返します:0または1、Iは、ワークシート関数Rand()
のと同等であるどのような0と1エクセルVBAランダム関数
間の全体ではないnumberrがを必要としながら?
ワークシート関数は=RAND(0,10000)/10000
でなければなりません。このように小数点以下の桁数を調整することができます。
VBAの同等機能は、この機能のように見えます。引数を使用して桁数を決定します。
Function RandomNumber(ByVal Digits As Integer) As Double
Dim Fun As Double
Randomize
Fun = Rnd
RandomNumber = Round(Fun, Digits)
End Function
この
Sub rndNumber()
Dim rNum As Double
Randomize
rNum = Format(Rnd(1), "#0.00")
End Sub
チェックrandomise機能
Rnd()
は式RAND()
のVBA同等でみてください。
使用例:私はかなり長い間前にこの機能を書かれていると私は乱数を必要とする場合、私は通常、簡単にこの方法でそれを生成することができます
Dim rand1 As Double
'Initialize the random number generator.
Randomize
rand1 = Rnd()
。
関数を使用するたびに乱数が新しい乱数セットを作成することを確認するには、Randomize-Statementが必要です。
Private Function random(minval As Integer, maxval As Integer, _
Optional decimalaccuracy As Integer = 10000) As Double
Randomize
random = (maxval - minval + 1) * Rnd + minval
If decimalaccuracy <> 10000 Then random = _
Application.WorksheetFunction.Round(random, decimalaccuracy)
End Function
十分に公正である - なぜそれが分を表示したのかわからない – Tom