Let's say your list is in column A, starting in row 10.
I'd use:
StartRow = 10
RowCnt = Application.WorksheetFunction.CountA(Range("A" & StartRow & ":A65000"))
This will count the number of non-blank cells in column A from row 10 to 65000
Keep in mind that if there are any blank rows in the middle of the data, it will
NOT
count it, and the number will be off.
Next use:
Randomize 'Initializes the
RandRow = Int((RowCnt + 1) * Rnd) + StartRow
this should give you the Row Number of a random row in your range.
Can you put it together from here?