dim str as string
dim Result(3) as integer
dim Pos as integer
str="0123456789"
for i=0 to 3
randomize
pos = Int(Rnd * (len(str)) + 1
result(i)=mid(str,pos,1)
str=replace(str,result(i),"")
next
注:只满足楼主要求
Sub xx()
Dim x As New Collection, i As Integer, j As Byte, result As String
result = ""
For i = 0 To 9
x.Add i
Next
For i = 1 To 4
Randomize
j = Int(Rnd * (x.Count)) + 1
result = result & x(j)
x.Remove j
Next
Debug.Print result
End Sub
Private Sub Command1_Click()
Dim x(9) As Byte, i As Integer, j As Byte, result As String
For i = 0 To 9
x(i) = i
Next
For i = 1 To 4
Randomize
j = Int(Rnd * (10 - i))
result = result & x(j)
x(10 - i) = x(j)
x(j) = 10 - i
Next
MsgBox result
End Sub
现在可以用这个初始化随机种子,以前我还不懂这个
Do '随机产生数字
Randomize
a = 9 * Rnd\1
b = 9 * Rnd\1
c = 9 * Rnd\1
d = 9 * Rnd\1
Loop While a = b Or a = c Or a = d Or b = c Or b = d Or c = d
Do '随机产生数字
a = Right(Time * Rnd, 1)
b = Right(Time * Rnd, 1)
c = Right(Time * Rnd, 1)
d = Right(Time * Rnd, 1)
Loop While a = b Or a = c Or a = d Or b = c Or b = d Or c = d