View Single Post
  #1   Report Post  
Posted to microsoft.public.excel.programming
quartz[_2_] quartz[_2_] is offline
external usenet poster
 
Posts: 441
Default Return a random letter

Thanks Tom. You've done it again!
I was not familiar with the "Asc" conversion.

"Tom Ogilvy" wrote:

So you could add another function that uses your existing function:

Public Function RandomLetter()
Dim argLow As Long, argHigh As Long
argLow = Asc("A")
argHigh = Asc("Z")
RandomLetter = Chr(RandomNumbers(argLow, argHigh))
End Function


Public Function RandomNumbers(argLow As Long, argHigh As Long) As Long

'RETURN A RANDOM NUMBER BETWEEN 'argLow' AND 'argHigh'
Randomize
RandomNumbers = CLng((argHigh - argLow) * Rnd + argLow)

End Function


from the immediate window:

? RandomLetter()
T


--
Regards,
Tom Ogilvy

"quartz" wrote in message
...
I have the following function which works great for returning a random
number in a range from a specified low to a specified high:

Public Function RandomNumbers(argLow As Long, argHigh As Long) As Long

'RETURN A RANDOM NUMBER BETWEEN 'argLow' AND 'argHigh'
Randomize
RandomNumbers = CLng((argHigh - argLow) * Rnd + argLow)

End Function

Now I need a similar function that would return a random letter between A
and Z. Can anyone suggest a more efficient method than just assigning all

the
letters of the alphabet to numbers between 1 and 26 to return a random

letter?

Thanks in advance.