By submitting your email address, you agree to receive emails regarding relevant topic offers from TechTarget and its partners. You can withdraw your consent at any time. Contact TechTarget at 275 Grove Street, Newton, MA.
need of it.
My scenario is as follows:
I needed to scramble a range of numbers(X) (from 1 to X) so that they would
display in a unique order each time the function was called.
The function expects an integer (X) to be passed to it and will return a
variant containing the randomized list from 1 to X.
' RandomOrderedList will receive the results of the function call.
Dim RandomOrderedList As Variant
RandomOrderedList = RandomGenerator ( < Any Number > )
'==================The function ================
Function RandomGenerator (X As Integer) As Variant
'Baseline will hold a sequential list of numbers from 1 to X.
Dim Baseline List As Integer
For i = 0 To X-1
'Set RandomFactor vehicles
Dim RandomFactor1 As Variant
Dim RandomFactor2 As Variant
' Set Temp value holder
Count = 0
While Not ( count = X )
RandomFactor1 = Evaluate( "@random" )
RandomFactor2 = Int( 1 + RandomFactor1(0) * ( X * X ) )
If RandomFactor2 > X Then Goto NextOne
Dim TempValueHolder List As Integer
Forall X1 In TempValueHolder
If X1 = RandomFactor2 Then Goto NextOne
TempValueHolder(Count ) =RandomFactor2
Count=Count + 1
RandomGenerator = TempValueHolder