相关知识点
默认属性,range(3,2)默认属性是value,对象赋值要用set
Mod模运算:求余数,可以用于奇偶数判断或者周期性问题
Rnd(): 随机数,返回0-1(包含0,不含1)之间的Double类型随机小数。可选参数为随机序列的生成方式。Int(Rnd()*n),n模运算的值得到0-(n-1)之间的随机数
随机数万能公式:生成[a,b]之间的随机数Int(Rnd()*(b-a+1)+a),包含a和b
伪随机数:过程似乎是随机的,实际上是需要开始值(种子),种子不变生成的随机数也不变。
Randomize:随机数初始化,按照当前的系统的时间作为种子
例1 交替染色
Sub colorize()
Dim mycolor(3) as long, i as integer, k as integer
mycolor(0)=vbred: mycolor(1)=vbyellow:mycolor(2)=vbblue: mycolor(3)=vbgreen
k=1
i=0
Do while cells(i,1)<>””
Cells(i,1).resize(1,4).interior.color=mycolor(k)
k=k+1
If k=4 Then k=0
i=i+1
Loop
End sub
例2 模运算简化编程
Sub colorize()
Dim mycolor(3) as long, i as integer,
mycolor(0)=vbred: mycolor(1)=vbyellow:mycolor(2)=vbblue: mycolor(3)=vbgreen
i=0
Do while cells(i,1)<>””
Cells(i,1).resize(1,4).interior.color=mycolor((i-1 ) mod 4) ‘随机数mycolor(Int(Rnd()*4))
i=i+1
Loop
End sub
例4 1-100随机数抽奖
Sub mycheatto() ‘假设1-3是经理50%的概率,4-100是员工
Dim i as integer
Rand0mize
i=rnd()
If i<0.5 Then
Range(“C8”).value=Int(Rnd()*3)+1
Else
Range(“C8”).value=Int(Rnd(*97))+1
End If
End Sub
本文介绍了VBA中关于随机数和模运算的应用,包括使用Mod进行奇偶判断和周期性问题解决,以及Rnd函数生成随机数的技巧。通过实例展示了如何用随机数进行交替染色、简化编程以及模拟抽奖程序,揭示了随机数的初始化和伪随机数的概念。

2921

被折叠的 条评论
为什么被折叠?



