網路上還有PTT上看到一些不重複隨機整數的寫法都有些複雜,看不太懂,
後來發現有一個寫法剛好看得懂,所以記錄一下!
可以自行輸入1?某數間,產生6個不重複的隨機整數。
原文在此。

首先,先將表單設計完成,
1.新增一個可以自由輸入的Textbox。
2.新增一個Button。
3.新增要輸出產生6個亂數的Label(Label3?Label8)。
[ad#300*250(pic)][ad#300*250(pic)]
接下來在Form上下指令,將所有要呈現的亂數(Label3?Label8)設定為隱藏,
程式碼如下:
Label3.Text = ""
Label4.Text = ""
Label5.Text = ""
Label6.Text = ""
Label7.Text = ""
Label8.Text = ""
最後在產生的button上下指令,產生6個不重複的隨機亂數。
程式碼如下:
Dim a, i, n, c, b(6) As Integer
a = Val(TextBox1.Text)
i = 1
Randomize()
If a < 6 Then
MsgBox("請輸入6以上的數字", 16, "錯誤")
Else
Do While i <= 6
n = Int(Rnd() * a) + 1
b(i) = n
For c = 1 To i - 1
If c < i And n = b(c) Then
i = i - 1
End If
Next
i += 1
Loop
Label3.Text = b(1)
Label4.Text = b(2)
Label5.Text = b(3)
Label6.Text = b(4)
Label7.Text = b(5)
Label8.Text = b(6)
End If