VBA提供了返回随机值的功能。您不一定必须单独使用此函数,而是作为可能需要使用随机值的较大宏的一部分。该函数的语法如下:

x = Rnd()

其中x是结果。返回的值将始终在0到1之间。要将其转换为其他随机值,您要做的就是将结果乘以要考虑的最大值。例如,如果您想要一个介于1到25之间的随机整数,则可以使用以下代码行:

x = Int(25 * Rnd()) + 1

由于Rnd始终会返回0到1之间的值(但本身不会返回1),因此将其返回值乘以25,然后对该结果使用Int函数将返回0到24之间的数字。最后,在此结果中加1,因此x等于1到25之间的一个数字,包括1和25。

如果您想要一个随机的浮点数,那么简单地从此代码中删除Int函数将无法正常工作。相反,您需要以这种方式修改公式:

x = (Rnd() * 24) + 1

注意:

如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(9751)适用于Office 365中的Microsoft Excel 2007、2010、2013、2016、2019和Excel。您可以在此处为Excel的较早菜单界面找到此技巧的版本: