출처 : 엑사모_팁

다운받기 : Random_NotDuplicated.xls


 Function RndNum(cntNum As Long, nL As Long, nU As Long) As Variant
Dim X As Collection, i As Long, varTmp() As Long
    RndNum = False
    If cntNum < 1 Then Exit Function
    If nL > nU Then Exit Function
    If cntNum > (nU - nL + 1) Then Exit Function
    Set X = New Collection
    Randomize
    Do
        On Error Resume Next
        i = CLng(Rnd * (nU - nL) + nL)
        X.Add i, CStr(i)
        On Error GoTo 0
    Loop Until X.Count = cntNum
    ReDim varTmp(1 To cntNum)
    For i = 1 To cntNum
        varTmp(i) = X(i)
    Next i
    Set X = Nothing
    RndNum = varTmp
    Erase varTmp
End Function




profile