|
楼主 |
发表于 2012-12-2 11:15
|
显示全部楼层
zjdh 发表于 2012-11-30 16:19
与原帖回复又有改动
不懂就在论坛查,勉强能读懂老师的代码。
但是我还是不明白,您是怎么使这个 抽出的客户 从这ARR 数组 中剔除的!
Sub 摇号()
ARR = Sheet2.Range("A2:C" & Sheet2.Range("A65536").End(3).Row)
If M * 1 < 1 Then ReDim BRR(1 To UBound(ARR))
If M * 5 >= UBound(ARR) Then
MsgBox "选房客户已经抽取完毕!"
停止
Exit Sub
End If
Range("A3:C7").ClearContents
Range("A1") = "第 " & M + 1 & " 批次选房客户名单"
For I = 1 To 5
Range("A" & I + 2) = "第 " & M * 5 + I & " 位"
Next
S = 0
For R = 1 To 500
For I = 1 To UBound(ARR)
If BRR(I) <> -1 Then BRR(I) = Rnd()
Next
ReDim T(1 To 5)
For J = 1 To 5
For I = 1 To UBound(BRR)
If M * 5 + J > UBound(ARR) Then Exit For
If BRR(I) = Application.Large(BRR, J) Then
T(J) = I
Cells(J + 2, 2) = ARR(I, 1)
Cells(J + 2, 3) = ARR(I, 2)
Exit For
End If
Next
Next
VBA.DoEvents
If S = 1 Then Exit Sub
Next
End Sub
|
|