Re: [VBA ] 如何用VBA產生1-81之間的亂數?

看板Visual_Basic作者 (kkk)時間20年前 (2005/11/30 23:06), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/3 (看更多)
我想了另一種方法,不曉得合不合邏輯 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
文章代碼(AID): #13ZR_rn8 (Visual_Basic)
文章代碼(AID): #13ZR_rn8 (Visual_Basic)