converting number to figures in words

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

Can anybody tell me how to convert number in figures in words like we cinvert
currency in numbers to currency in words.
 
Bob,
thanks you are so dear. You have solved my problem. I appreciate you for
giving some time to my problem.
 
You're welcome. I created the page because it is a popular request.

--
HTH

Bob Phillips

(remove nothere from email address if mailing direct)
 
Function InLetters(NumberToLeters)
x = Int(Round(NumberToLeters, 2))
DES = Right(Application.WorksheetFunction.Text(NumberToLeters, "0.00"), 2)

If DES > 0 Then
des1 = " AND " & Right(DES, 2) & "/100 "
End If


FirstTwoDigits = Right(x, 2)
Onetonine = Array("", " ONE ", " TWO ", " THREE ", " FOUR ", " FIVE ", " SIX
", " SEVEN ", " EIGHT ", " NINE ", " TEN ", _
" ELEVEN ", " TWELVE ", " THIRTEEN ", " FOURTEEN ", " FIFTEEN ", " SIXTEEN
", " SEVENTEEN ", " EIGHTEEN ", " NINETEEN ", " TWENTY ", _
" TWENTY ONE", " TWENTY TWO ", " TWENTY THREE ", " TWENTY FOUR ", " TWENTY
FIVE ", " TWENTY SIX ", " TWENTY SEVEN ", " TWENTY EIGHT ", " TWENTY NINE ",
" THIRTY ", _
" THIRTY ONE ", " THIRTY TWO ", " THIRTY THREE ", " THIRTY FOUR ", " THIRTY
FIVE ", " THIRTY SIX ", " THIRTY SEVEN ", " THIRTY EIGHT ", " THIRTY NINE ",
" FORTY ", _
" FORTY ONE ", " FORTY TWO ", " FORTY THREE ", " FORTY FOUR ", " FORTY FIVE
", " FORTY SIX ", " FORTY SEVEN ", " FORTY EIGHT ", " FORTY NINE ", " FIFTY
", _
" FIFTY ONE ", " FIFTY TWO ", " FIFTY THREE ", " FIFTY FOUR ", " FIFTY FIVE
", " FIFTY SIX ", " FIFTY SEVEN ", " FIFTY EIGHT ", " FIFTY NINE ", " SIXTY
", _
" SIXTY ONE ", " SIXTY TWO ", " SIXTY THREE ", " SIXTY FOUR ", " SIXTY FIVE
", " SIXTY SIX ", " SIXTY SEVEN ", " SIXTY EIGHT ", " SIXTY NINE ", " SEVENTY
", _
" SEVENTY ONE ", " SEVENTY TWO ", " SEVENTY THREE ", " SEVENTY FOUR ", "
SEVENTY FIVE ", " SEVENTY SIX ", " SEVENTY SEVEN ", " SEVENTY EIGHT ", "
SEVENTY NINE ", " EIGHTY ", _
" EIGHTY ONE ", " EIGHTY TWO ", " EIGHTY THREE ", " EIGHTY FOUR ", " EIGHTY
FIVE ", " EIGHTY SIX ", " EIGHTY SEVEN ", " EIGHTY EIGHT ", " EIGHTY NINE ",
" NINETY ", _
" NINETY ONE ", " NINETY TWO ", " NINETY THREE ", " NINETY FOUR ", " NINETY
FIVE ", " NINETY SIX ", " NINETY SEVEN ", " NINETY EIGHT ", " NINETY NINE ")

FirstTwoDigits1 = Onetonine(FirstTwoDigits)

'---------------
ThirdDigit = Int(Right(x, 3) / 100)

If ThirdDigit > 0 Then
ThirdDigit1 = Onetonine(ThirdDigit) & "HUNDRED"
End If

'----------------
FirstSixDigits = Right(x, 6)
NoOfThosands = Int(FirstSixDigits / 1000)

FourthAndFifthDigit = Right(NoOfThosands, 2)
If FourthAndFifthDigit > 0 Then
FourthAndFifthDigit1 = Onetonine(FourthAndFifthDigit) & " THOUSAND "
End If
SixthDigit = Int(FirstSixDigits / 100000)
If SixthDigit > 0 Then
SixthDigit1 = Onetonine(SixthDigit) & " HUNDRED "
End If
If FourthAndFifthDigit = 0 And SixthDigit > 0 Then
SixthDigit2 = SixthDigit1 & "THOUSAND"
Else
SixthDigit2 = SixthDigit1
End If
'---------

SeventhAndEighth = Right(x, 8)
NoOfMillions = Int(SeventhAndEighth / 1000000)

If NoOfMillions > 0 Then
NoOfMillions1 = Onetonine(NoOfMillions) & "MILLION"
End If

If NumberToLeters > 0 And NumberToLeters < 100000000 Then
InLetters = Application.WorksheetFunction.Proper(Trim(NoOfMillions1 &
SixthDigit2 & FourthAndFifthDigit1 & ThirdDigit1 & FirstTwoDigits1 & des1 & "
ONLY "))
End If
If NumberToLeters = 100000000 Then
InLetters = "HUNDRED MILLION ONLY "
End If

End Function
 
Why are you posting the same thing 4 times with 4 different subject lines?
And, why are you NOT replying to the original post as is customary?
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top