Excel VBA Rnd实际上并不随意
我目前有一个macros,当我点击一个button,它“随机”给我一个数字在msgbox:
dim number as double number= Int(8 * Rnd + 1) - 1 MsgBox number
问题是,这些数字实际上并没有随机分配。 例如:如果我启动macros,点击button两次,让我说我得到数字5和2.现在,如果我closuresmacros并再次打开它,并单击button两次,我得到相同的两个数字5和2。
现在我知道,在VB.net有一种方法,实际上它每次吐出随机数字,而不重复“序列”,但它已经过了几年,因为我碰到了VB.NET,所以我不记得,我也会不知道如何在excel vba中使用它。
您需要初始化随机数函数
Sub test() Dim number As Double Randomize number = Int(8 * Rnd + 1) - 1 MsgBox number End Sub
- 如何在不删除相邻数据的情况下在单个列中运行RemoveDuplicates?
- 如何为几组数据dynamicbuild立一个COUNTIFS公式(RunTime Error'1004')
- VBA事件函数Worksheet和Workbook_sheet
- 使用VBA查询目录和目录中的所有子文件夹,并返回特定文件扩展名的A列中的完整文件path
- VBA函数调用VBA sub将数组打印到工作表
- 从另一个工作表中select一个随机单元格
- 数据validation和stringbuild立错误
- Excelmacros – VBA:select或范围不被接受为另一个函数的传递参数。 遇到运行时错误424
- Excel VBA形成内部名称/types