谁能用vb帮忙做一个1到120号随机的,不重复的抽奖程序,急用,谢谢

谢谢,急用

'自己修改,看看有没有重复的
Private Sub Command1_Click()
    Dim dic, n, a
    Set dic = CreateObject("scripting.dictionary")
    Do While True
        Randomize
        a = Int(120 * Rnd) + 1
        If Not dic.Exists(a) Then
            dic.Add a, ""
            n = n + 1
        End If
        If n = 120 Then Exit Do
    Loop
    a = dic.keys
    Text1 = Join(a, ",")
End Sub

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-12-13
界面中做一个标签,一个定时器,二个命令按钮
Dim a(120) As Integer, n As Integer, k As Integer

Private Sub Command1_Click()
Timer1.Enabled = True
End Sub

Private Sub Command2_Click()
Timer1.Enabled = False
a(k) = a(n)
n = n - 1
End Sub

Private Sub Form_Load()
n = 10
For i = 1 To n
a(i) = i
Next i
Label1.Caption = ""
Timer1.Interval = 10
Timer1.Enabled = False
End Sub

Private Sub Timer1_Timer()
k = Int(n * Rnd) + 1
Label1.Caption = a(k)
End Sub本回答被提问者和网友采纳
第2个回答  2013-12-13

随机的话  可以用打函数Rnd,但做不到不重复,我的方法可以满足你的要求  可以参考下(要添加CommonDialog控件)

第3个回答  2013-12-13
楼下的代码很对,但应该加个 randomize 防止数字重复
相似回答