'不重复随机数 '添加 Command1 Option Explicit Dim i&, Trec&, Arr&(), RndVal&, TmpVal&, S Private Sub Command1_Click() Trec = 10 S = GetRnd(1, 10, Trec) Me.Cls For i = 0 To Trec - 1 Print S(i) Next i End Sub Public Function GetRnd(MinVal&, MaxVal&, Qty&) As Long() Randomize For i = MinVal To MaxVal ReDim Preserve Arr&(i) Arr(i) = i Next For i = MinVal To MaxVal RndVal = Int(Rnd * (MaxVal - MinVal + 1)) + MinVal TmpVal = Arr(i) Arr(i) = Arr(RndVal) Arr(RndVal) = TmpVal Next For i = 0 To Qty - 1 Arr(i) = Arr(i + MinVal) Next GetRnd = Arr() End Function