Here's one way to do it....
Code:Sub GenerateRandomUnique() Dim lng As Long Dim var As Variant With CreateObject("Scripting.Dictionary") Do While .Count <= Range("A2:A9").Cells.Count lng = Rnd * 99 + 1 .Item(lng) = Empty Loop var = Application.Transpose(.Keys) SortIntegerArray var Range("A2:A9").Value = var End With End Sub Sub SortIntegerArray(ByRef paintArray As Variant) Dim lngX As Long Dim lngY As Long Dim intTemp For lngX = LBound(paintArray) To (UBound(paintArray) - 1) For lngY = LBound(paintArray) To (UBound(paintArray) - 1) If Val(paintArray(lngY, 1)) > Val(paintArray(lngY + 1, 1)) Then 'exchange the items intTemp = paintArray(lngY, 1) paintArray(lngY, 1) = paintArray(lngY + 1, 1) paintArray(lngY + 1, 1) = intTemp End If Next Next End Sub




Reply With Quote
Bookmarks