> Private Function NumberToWords(ByVal tnValue As Long, _ > Optional ByVal BlankIfZero As Boolean = False) As String > Dim lcNumberToWords As String = "" > > Select Case tnValue > > Case 0 > lcNumberToWords = IIf(BlankIfZero, "", "Zero") > > Case 1 To 19 > lcNumberToWords = Choose(tnValue, "One", "Two", "Three", "Four", _ > "Five", "Six", "Seven", "Eight", "Nine", "Ten", "Eleven", _ > "Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", _ > "Seventeen", "Eighteen", "Nineteen") > > Case 20 To 99 > lcNumberToWords = Choose(tnValue \ 10 - 1, "Twenty", "Thirty", _ > "Fourty", "Fifty", "Sixty", "Seventy", "Eighty", _ > "Ninety") & NumberToWords(tnValue Mod 10, True) > > Case 100 To 999 > lcNumberToWords = NumberToWords(tnValue \ 100) & "Hundred" & IIf _ > (tnValue >= 200, "s", "") & NumberToWords(tnValue Mod 100, True) > > Case 1000 To 999999 > lcNumberToWords = NumberToWords(tnValue \ 1000) & "Thousand" & IIf _ > (tnValue >= 2000, "s", "") & NumberToWords(tnValue Mod 1000, True) > > Case 1000000 To 999999999 > lcNumberToWords = NumberToWords(tnValue \ 1000000) & "Million" & IIf _ > (tnValue >= 2000000, "s", "") & NumberToWords(tnValue Mod 1000000, True) > > Case Is >= 1000000000 > lcNumberToWords = NumberToWords(tnValue \ 1000000000) & "Billion" & _ > IIf(tnValue >= 2000000000, "s", "") & NumberToWords(tnValue Mod _ > 1000000000, True) > End Select > > Return lcNumberToWords > End Function >>