作者icene (kkk)
看板Visual_Basic
標題Re: [VBA ] 如何用VBA產生1-81之間的亂數?
時間Wed Nov 30 23:09:26 2005
我想了另一種方法,不曉得合不合邏輯
Private Sub CommandButton1_Click()
For i = 1 To 81
Cells(i, 1) = Rnd()
Cells(i, 2) = i
Next i
Range("a1:b81").Sort Key1:=Range("A1"), Order1:=xlAscending
End Sub
'********************************
隨機跑一排亂數,給他們1到81號碼牌
再把那排亂數排序,1~81號號碼牌也跟著亂掉
b欄就產生了1~81號不重複的亂數
*********************************
※ 引述《realll (IMOK)》之銘言:
: 我研究出來了!!!
: 分享給大家~!
: Sub imok() 'Private
: Dim a, i, j, z, x, y As Integer
: Dim AD As Double
: Dim renn(1, 90)
: Dim ren(1, 90) '佇列長度
: Set ws1 = Worksheets("Sheet1")
: Set ws2 = Worksheets("Sheet2")
: Set ws3 = Worksheets("Sheet3")
: Dim temp As Double
: Dim check As Integer
: Randomize Timer
: Dim N(80)
: For i = 0 To 79 '亂數序列中不會有相同的數字
: r = 1
: Do Until r <> 1 'r = 1 表示n(i)的亂數有重覆
: N(i) = Int(80 * Rnd) + 1
: r = 0
: For j = 0 To i - 1
: If N(i) = N(j) Then r = 1
: Next
: Loop
: ws1.Cells(i + 1, 4) = N(i)
: Next
: ws1.Cells(1, 4) = 81
: End Sub
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.91.83.128