Understood Paul.
Yes, if the values are numbers then the samples haves to be picked based on the weightage in the ranges as per the list box

What do you think if I do the below code to proportionate again the shortfall in samples. I hope I will get some more samples

    If n < numRecordsProportional Then
        d = numRecordsProportional - n ' shortfall
        s = WorksheetFunction.Sum(aryStrataSamples)
        For iStrata = 1 To numStrata
            If aryStrataSamples(iStrata) = 0 Then
            Else
                aryStrataSamples(iStrata) = aryStrataSamples(iStrata) + Round(d * aryStrataSamples(iStrata) / s, 0)
            End If
        Next iStrata
    End If