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