Public Function func_generate_RandomDates(NoofDates)
Dim datesArray 'To capture generated dates in an array
Dim intincrementer 'To store loop counter value.
Dim intRandomnumber 'To store random number.
Dim strtravelDateTime 'To store travel date.
Dim strFirstDate 'To store first date.
Dim astrDates 'To store dates.
Dim strReturnval 'To store the return value
strFirstDate = ""
'verify whether input parameter is equal to null or zero.
If NoofDates > 0 Then
'To get specified number of dates (after 90 to 180 days of current date)
For intincrementer=0 To Cint(NoofDates)-1
'generates random number between 90 and 181
intRandomnumber = Int((91 * Rnd) + 90)
'addes random number with current date to generate random date.
strtravelDateTime=Date + intRandomnumber
If intincrementer > 0 Then
strFirstDate=Trim(strFirstDate & ". " & strtravelDateTime)
Else
strFirstDate = strtravelDateTime
End If
Next
'splits random dates
datesArray=Split(strFirstDate,". ")
' Call the function to sort the generated random dates
astrDates = func_datesSorting(datesArray)
' to verify for dates in sorting order
If Instr(astrDates(0),"ErrMsg:") > 0 Then
func_generate_RandomDates = "ErrMsg: Unable to get the dates in sorting order. Because," & " " & astrDates
Else
func_generate_RandomDates = astrDates
End If
Else
'Return the failure message when input parameter is not valid
func_generate_RandomDates = Array("ErrMsg: Input parameter Is Invalid")
End If
End Function 'Enfd of 'generate_RandomDates' function
'####################################################
Public Function func_datesSorting(strArray)
Dim inti 'to store the increment value
Dim blnSwitched 'to hold the value to switch
Dim strTemp 'temparary variable
If Not IsEmpty(strArray) AND Ubound(strArray) <> -1 Then
Do
blnSwitched =False
'loop to sort the dates in the array.
For inti = 0 To Ubound(strArray)-1
'verify whether present date is greater than preveous date
If CDate(strArray(inti)) > CDate(strArray( inti+1)) Then
strTemp = strArray(inti)
strArray( inti) = strArray( inti + 1)
strArray( inti + 1) = strTemp
blnSwitched = True
End If
Next
Loop While blnSwitched
'retuns sorted array.
func_datesSorting = strArray
Else
func_datesSorting = Array("ErrMsg: Input Dates Array is empty.")
End If
End Function