抽签决定30个人的出场次序,点击抽签按钮即数字滚动然后显示数字,已抽取的数字则不重复(抽一个少一个),界面需要一个按钮和一个标签
请高手指教Public index
'抽签30个,点击抽签显示数字,不重复(抽一个少一个)
Private Sub Form_Load()
index = 1
Randomize
ReDim b(1 To 1) As Integer
b(1) = Int(Rnd * 30) + 1 '生成第一个随机标签标
Do
Call Diff1(Int(Rnd * 30) + 1, b) '生成后边的29个随机标签
Loop Until UBound(b) = 30
End Sub
Private Sub Command1_Click() '点击一次,显示一个
Label1.Caption = b(index)
index = index + 1
Debug.Print b(index - 1)
If index = 31 Then
MsgBox ("完成抽签")
End If
End Sub
Public Function Diff1(txt1, ByRef Array1) '如果txt不在array数组,则增加
For i = 1 To UBound(Array1)
If txt1 = Array1(i) Then Exit For
DoEvents
Next
If i > UBound(Array1) Then
ReDim Preserve Array1(1 To i): Array1(i) = txt1
End If
End Function
[此贴子已经被作者于2018-6-7 13:32编辑过]