尝试一下:
Sub RanGen()
With Application.WorksheetFunction
x = .RandBetween(1, 2)
If x = 2 Then
MsgBox x
Else
x = .RandBetween(3, 6)
MsgBox x
End If
End With
End Sub
Run Code Online (Sandbox Code Playgroud)
小智 5
在工作表公式中,这将类似于,
=choose(randbetween(1, 2), "white", choose(randbetween(1, 4), "red", "green", "blue", "yellow"))
Run Code Online (Sandbox Code Playgroud)
您可以使用本机VBA函数在VBA中对其进行编码,或者只是worksheetfunction在几个位置添加.
您也可以在不使用 VBA 的情况下执行此操作:
=IF(RAND()<0.5,2,FLOOR(RAND()*4,1)+3)
Run Code Online (Sandbox Code Playgroud)
这给出了 50% 的机会返回 2,另外 50% 的机会均匀分布在 3 和 6 之间。