打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
【VBA 实例030】彩票幸运号码 (动态数组和随机函数)

例030彩票幸运号码

1.案例说明

本例结合数组和随机函数的知识,生成指定数量的彩票幸运号码。本例生成的彩票号码

每注由7位数构成,首先让用户输入产生的注数,再使用循环语句生成指定注数的号码。

2.关键技术

本例代码中使用了两个关键技术:动态数组和随机函数。

(1)动态数组

本例使用二维数组保存所有的彩票号码,二维数组的定义格式如下: 

Dim 数组名(第1维上界,第2维上界) As 数据类型或

Dim数组名(第1维下界To第1维上界,第2维下界To第2维上界) As数据类型在本例中,因为生成的彩票数量是由用户输入的数据决定的。因此这里使用动态数组。动态数组是指在程序运行时大小可以改变的数组,定义动态数组一般分两个步骤:首先在用户窗体、模块或过程中使用Dim或Public声明-一个没有下标的数组(不能省略括号),然后在过程中用ReDim语句重定义该数组的大小。ReDim语句在过程级别中使用,用于为动态数组变量重新分配存储空间。其语法格式如下:

ReDim [Preserve] 数组名(下标) [As 数据类型]

可以使用ReDim语句反复地改变数组的元素以及维数的数目,但是不能在将一-个数组定义为某种数据类型之后,再使用ReDim将该数组改为其他数据类型,除非是Variant 所包含的数组。如果使用了Preserve 关键字,就只能重新定义数组最后一维的大小, 并不能改变维数的数目。

(2)随机函数Rnd

随机函数Rnd可返回小于1但大于或等于0的一个小数。其语法格式如下: 

Rnd[ (number) ]

可选的number

参数是Single或任何有效的数值表达式。根据number参数值的不同, Rnd

函数生成的随机数也不同:

●number<0, 则每次使用相同的number作为随机数种得到的相同结果。

●number>0, 则将生成随机序列中的下一个随机数。

●number=0, 则将生成最近生成的数。

●省略number,则生成序列中的下一个随机数。

在调用Rnd之前,先使用无参数的Randomize语句初始化随机数生成器,该生成器具

意有根据系统计时器得到的种子。为了生成某个范围内的随机整数,可使用以下公式:

Int((上限-下限+ 1)*Rnd +下限)

3.编写代码

(1)新建Excel工作簿,按快捷键“Alt+F11”进入VBE环境。

(2)单击菜单“插入/模块”命令向工程中插入一个模块。

(3)在模块中编写以下代码:


Option Base 1

Sub 幸运号码()

    Dim n As Integer, i As Integer, j As Integer

    Dim l() As Integer

    n = Application.InputBox("请输入需要产生幸运号码的数量:", "幸运号码", , , , , , 2)

    ReDim l(n, 7) As Integer

    For i = 1 To n

        For j = 1 To 7

            Randomize

            l(i, j) = Int(10 * Rnd)

        Next

    Next

    For i = 1 To n

        For j = 1 To 7

            Debug.Print l(i, j);

        Next

        Debug.Print

    Next

End Sub

(4)运行上面的宏,弹出如图所示的对话框,提示用户输入数据。 输入生成幸运号码的数量。

(5)单击“确定”按钮后在“立即窗口”输出生成的幸运号码

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
VBA基础入门(48)35选7该怎么选?
教你在 Excel 中生成随机数的 5 种方法
vb随机函数用法和实例
《神奇的VBA》编程:随机生成彩票数据
VBA产生特定范围内的随机数 | VBA实例教程
rnd 随机数
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服