Excel三個vba生成不重復隨機整數的案例
Excel三個vba生成不重復隨機整數的案例

文章提供三個vba代碼生成不重復隨機數的案例供學習。
vba不重復隨機數案例一:下面的代碼,將在A1:A5000單元格產生1-5000的不重復隨機整數。Private Sub vba不重復隨機數()Dim Arr1(1 To 5000) As BooleanDim Arr2(1 To 5000, 0) As Integert = Timer[A:A] = EmptyFor i = 1 To 5000num = Int(5000 * Rnd + 1)Do While Arr1(num)num = Int(5000 * Rnd + 1)LoopArr1(num) = TrueArr2(i, 0) = numNext i[A1:A5000] = Arr2End Sub
vba不重復隨機數案例二:在A1:A100中產生1-100的不重復隨機整數,代碼如下:Sub vba不重復隨機數()Dim TempArr1(99) As Integer, TempArr2(0 To 99, 1 To 1) As IntegerDim RndNumber As Integer, i As IntegerRandomize (Timer) ‘初始化隨機數生成器For i = 0 To 99 ‘產生包含1-100的不重復的隨機數列TempArr1(i) = iNext iFor i = 99 To 0 Step -1RndNumber = Int(i * Rnd)TempArr2(99 – i, 1) = TempArr1(RndNumber) + 1TempArr1(RndNumber) = TempArr1(i)Next i‘在A1:A100中輸入這些數字Range("a1:a100").Value = TempArr2End Sub
vba不重復隨機數案例三:在A1:A10單元格產生10個0-100的隨機整數,以下是代碼:Sub vba不重復隨機數()Dim i As Longi = 100Dim num As LongReDim arr(i) As LongReDim Arr2(i, 0) As LongDim x As LongFor x = 0 To iarr(x) = xNext xFor x = 0 To inum = Int(Rnd() * (i – x))Arr2(x, 0) = arr(num)arr(num) = arr(i – x)Next xRange("A1:A10") = Arr2End Sub
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。