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