VBA随机化|如何使用随机陈述?

VBA中的随机陈述

VBA随机化 语句是我们在应用RND函数之前添加的简单的单线语句。每当重新打开工作簿时,Randomize语句都会根据计算机的系统时间为RND函数提供新的种子编号。

在谈论Randomize语句之前,让我向您介绍一个使用VBA的简单RND函数。

作为工作表函数“ RAND”,在VBA中,“ RND”也将生成大于0但小于1的随机数。

现在看一下“ RND”功能的语法。

[数字]: 我们可以通过三种方式传递论点。

  • 如果我们将数字设为<0,则每次都会生成相同的随机数。
  • 如果我们将数字传递为0,它将重复它给出的最新数字。
  • 如果我们传递的数字> 0,它将继续为您提供不同的随机数,即序列中的下一个随机数。

例子

例如,请看下面的代码。

代码:

 Sub RND_Example()Debug.Print Rnd End Sub 

当我在立即窗口中运行代码时,我可以看到以下数字。

同样,当我再次执行此代码3次时,我可以看到以下数字。

现在,我将关闭工作簿并重新打开它。

现在,我将回到可视化基本编辑器窗口。

现在,立即窗口为空且干净。

现在我将再次执行该代码四次,看看在立即窗口中我们将得到什么数字。

我们得到的数字与上面的数字相同。

这看起来不是随机数,因为每次我们重新打开文件时,我们都会从头开始获得相同的数字。

那么,无论工作簿是否重新打开,我们如何生成随机数呢?

我们需要使用“随机化”语句。

如何使用VBA随机语句?

您可以在此处下载此VBA随机化Excel模板– VBA随机化Excel模板

范例#1

要获得随机数,我们要做的就是在RND函数之前添加简单的单行代码“ Randomize”。

代码:

 Sub Randomize_1()随机化Debug.Print Rnd End Sub 

现在,我将运行代码4次,看看能得到什么。

它已在我的本地窗口中生成了以上数字。

现在,我将关闭文件,然后再次重新打开文件。

像往常一样,我们从视觉基本窗口中的空白开始。

现在,我将再次执行代码,看看这次我们得到了什么数字。

哇!!!这次我们得到了不同的数字。

由于我们在RND函数之前添加了语句Randomize,因此每次重新打开文件时,我们都会获得不同的随机数。

看起来像是随机数吗????

范例#2

大于1的随机数

如我们所见,“ RND”功能只能生成从0到1的数字。但是,为了生成大于一个随机数的数字,我们需要使用工作表函数类可用的“ RANDOM BETWEEN”。

因此,要生成大于一个的随机数,我们需要使用以下代码。

代码:

 Sub Randomize_2()随机进行Debug.Print Rnd * 100 End Sub 

现在,我将执行代码,然后看看我们得到了什么。

这样,每次重新打开excel文件时,我们都可以在VBA中使用“随机化”语句生成随机数。