利用MyRandom函数求一组指定个数的随机返回数

VBA语言専攻 2024-03-11 18:49:13

《VBA信息获取与处理》教程(版权10178984)是我推出第六套教程,目前已经是第一版修订了。这套教程定位于最高级,是学完初级,中级后的教程。这部教程给大家讲解的内容有:跨应用程序信息获得、随机信息的利用、电子邮件的发送、VBA互联网数据抓取、VBA延时操作,剪贴板应用、Split函数扩展、工作表信息与其他应用交互,FSO对象的利用、工作表及文件夹信息的获取、图形信息的获取以及定制工作表信息函数等等内容。程序文件通过32位和64位两种OFFICE系统测试。是非常抽象的,更具研究的价值。

教程共两册,二十个专题。今日分享内容是:VBA信息获取与处理第二个专题第三节:利用MyRandom函数求一组指定个数的随机返回数

【分享成果,随喜正能量】踏着春天的脚步,轻快上路,与春同行。一路追逐芬芳和美好,一路播种希望和温暖。无论阳光阴晴,还是风霜雨雪,都坦然接受,一切都是最好的安排。。

第三节 对于一个给定的数组,随机获得它的元素

在前两节中,我们讲了随机数的基本知识,这些看似我们实际工作的场景利用不大,这讲的内容就接近我们实际的工作场景了。我们有没有一个办法建立一个函数,用于取得指定个数的随机数数组呢?当然可以,我们可以先建立一个数组,这个数组有最大和最小值的限制,然后通过输入参数来决定返回的随机数个数,这样我们在利用的时候就会非常的方便了。

2 利用MyRandom函数求一组指定个数的随机返回数

我们看看主程序代码是如何利用上述函数过程取得随机数的。先看看代码:

Sub MYNZB()

Sheets("sheet2").Select

UU = MyRandom(Range("e2"), Range("e3"), Range("e4"))

Range("a:a").ClearContents

'For I = 1 To Range("e4")

'Cells(I, 1) = UU(I)

'Next

Range("A1").Resize(UBound(UU), 1) = Application.Transpose(UU)

End Sub

代码的截图:

代码讲解:

① UU = MyRandom(Range("e2"), Range("e3"), Range("e4"))

上面的代码给MyRandom函数输入了三个参数Range("e2"), Range("e3"), Range("e4")表示最小值、最大值和返回的数值个数。

② 'For I = 1 To Range("e4")

'Cells(I, 1) = UU(I)

'Next

Range("A1").Resize(UBound(UU), 1) = Application.Transpose(UU)

上面的代码给出两种方案回填返回的数值。其中第一种方案是利用了循环,第二种方法直接利用的转置。

3 代码的运行结果:

本节知识点回向:如何随机返回给定数组中的值?思路是怎么样的?在回填数组的时候利用转置函数有什么好处?

本节内容详细代码“参考002工作表.XLSM”

我20多年的VBA实践经验,全部浓缩在下面的各个教程中,教程学习顺序:

0 阅读:1