[算表] EXCEL VBA 取不重複的亂數
我用EXCEL的VBA
做了一個產生不重複的亂數程式
程式碼如下
Sub 按鈕1_Click()
Dim LuckyNumber() As Integer, Upperbound As Integer, Lowerbound As Integer,
ArrayLength As Integer, RndNumber As Integer, RndNumber2 As Integer, Temp As
Integer
Lowerbound = Range("D8").Value '從儲存格D8取亂數範圍的下限值
Upperbound = Range("D7").Value '從儲存格D7取亂數範圍的上限值
ArrayLength = Upperbound - Lowerbound
ReDim LuckyNumber(ArrayLength) As Integer
For i = 0 To ArrayLength
LuckyNumber(i) = Lowerbound + i
Next
Randomize
For j = 0 To ArrayLength
RndNumber = Int((Upperbound - Lowerbound + 1) * Rnd)
RndNumber2 = Int((Upperbound - Lowerbound + 1) * Rnd)
Temp = LuckyNumber(RndNumber)
LuckyNumber(RndNumber) = LuckyNumber(RndNumbber2)
LuckyNumber(RndNumbber2) = Temp
Next
End Sub
目前程式是可以產生出不重複的亂數值
我想呈現出來的結果是
按一下按鈕1的時候
在儲存格B3的位置
就顯示出LuckyNumber(0)的亂數結果
再按一下按鈕1的時候
同樣在B3的位置顯示
LuckyNumber(1)的亂數結果
以此類推
可是現在每按一次按鈕1
亂數陣列LuckyNumber()
就再重新產生一次了....
要如何讓亂數陣列固定下來
每按一次按鈕的時候
就顯示出下一個亂數
LuckyNumber(0)->LuckyNumber(1)->...LuckyNumber(N)
這個問題該怎麼解決?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.51.218.120 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Office/M.1567069883.A.C47.html
→
08/29 17:28,
6年前
, 1F
08/29 17:28, 1F
→
08/29 17:28,
6年前
, 2F
08/29 17:28, 2F
→
08/29 17:30,
6年前
, 3F
08/29 17:30, 3F
→
08/29 17:30,
6年前
, 4F
08/29 17:30, 4F
→
08/29 17:31,
6年前
, 5F
08/29 17:31, 5F
→
08/29 17:32,
6年前
, 6F
08/29 17:32, 6F
→
08/29 17:32,
6年前
, 7F
08/29 17:32, 7F
→
08/29 17:33,
6年前
, 8F
08/29 17:33, 8F
→
08/29 17:34,
6年前
, 9F
08/29 17:34, 9F
→
08/29 17:34,
6年前
, 10F
08/29 17:34, 10F
→
08/29 17:34,
6年前
, 11F
08/29 17:34, 11F
→
08/29 17:57,
6年前
, 12F
08/29 17:57, 12F
→
08/29 17:57,
6年前
, 13F
08/29 17:57, 13F
→
08/29 18:13,
6年前
, 14F
08/29 18:13, 14F
Office 近期熱門文章
PTT數位生活區 即時熱門文章