首页 > 解决方案 > 基于日期的 Excel VBA 种子

问题描述

我正在开发一个使用种子的程序。这个种子应该基于日期,所以每一天我都会得到一个新的值。每天多次使用种子不应该改变返回的值。

这是我的种子的样子:

随机化

todayValue = Int(50 * Rnd)

现在,我如何根据日期创建种子?是否有另一种方法可以根据日期获得种子?

非常感谢!

标签: excelvbaseedseedingrandom-seed

解决方案


请参阅这篇关于在 VBA 中获取种子随机值的帖子

您需要做的就是在运行代码之前使用负值调用 Rnd 函数。为此,您可以使用 Date 函数。在 VBA 中,Date 值只是 Long,表示自过去某个设定日期以来的天数。

这是一个如何做你想做的事的例子。

Sub rndSeedTest()
    MsgBox Date & " --> " & CLng(Date)
    Rnd -Date
    MsgBox Rnd & _
        vbNewLine & Rnd & _
        vbNewLine & Rnd & _
        vbNewLine & Rnd & _
        vbNewLine & Rnd
End Sub

推荐阅读