Public Sub Random5Pct()
Dim colNames As New Collection
Dim i As Integer, iCnt As Integer, iNum As Integer, iCol As Integer
Dim vPicks
Const kPICKpct = 5
On Error GoTo errRand
'load the collection
Sheets("names2").Select
Range("A2").Select
While ActiveCell.Value <> ""
colNames.Add ActiveCell.Value
ActiveCell.Offset(1, 0).Select 'next row
Wend
'get the % to randomize
vPicks = kPICKpct / 100 * colNames.Count
'Sheets.Add
Range("B1").Value = "Picks"
Range("B2").Select
For i = 1 To vPicks
iCnt = colNames.Count
'iNum = Int(iCnt * Rnd) + 1
iNum = Int(1 + Rnd() * (iCnt - 1 + 1))
ActiveCell.Value = colNames(iNum)
colNames.Remove iNum
ActiveCell.Offset(1, 0).Select 'next row
Next
set colNames = nothing
errRand:
End Sub