运行效果:
程序代码:
Private Sub Command1_Click() Dim myarray() As String Dim myrows With Text1 myarray = Split(.Text, vbCrLf) myrows = UBound(myarray) Randomize Text2.Text = Text2.Text & vbCrLf & myarray(Int(Rnd * myrows + 1)) End With End Sub
Private Sub Form_Load() Text1.Text = "请输入抽奖名单:" & vbCrLf & _ "张飞" & vbCrLf & _ "关与" & vbCrLf & _ "六倍" & vbCrLf & _ "诸葛" & vbCrLf & _ "曹操" & vbCrLf & _ "孙权" Text2.Text = "幸运观众:" End Sub
学习心得:
1、Rnd 函数返回小于 1 但大于或等于 0 的值。即Rnd取值 [0,1)。
2、Randomize 语句初始化随机数生成器,该生成器具有根据系统计时器得到的种子。
3、为了生成某个范围内的随机整数,可使用以下公式:
Int((upperbound - lowerbound + 1) * Rnd + lowerbound)
这里,upperbound 是随机数范围的上限,而 lowerbound 则是随机数范围的下限。
取值为:[lowerbound,upperbound]