Formula in Excel to turn numbers into text
Solved/Closed
ashwin12289
Posts
1
Registration date
Saturday March 23, 2013
Status
Member
Last seen
March 23, 2013
-
Updated on Jan 25, 2019 at 11:42 AM
venkatesan - May 31, 2019 at 01:55 AM
venkatesan - May 31, 2019 at 01:55 AM
Related:
- Spellnumber file download
- Spellnumber.xlam free download - Best answers
- Spell number zip file download - Best answers
- Number to words in excel formula - Guide
- 1st, 2nd, 3rd position formula in excel ✓ - Office Software Forum
- Date formula in excel dd/mm/yyyy - Guide
- Excel grade formula - Guide
- How to calculate position (1st,2nd,3rd) in excel....? - Excel Forum
2 responses
sgmpatnaik
Posts
52
Registration date
Tuesday April 2, 2013
Status
Member
Last seen
November 27, 2013
45
Updated on Jan 25, 2019 at 11:41 AM
Updated on Jan 25, 2019 at 11:41 AM
HI
Please try the below given UDF code in your module
if any problem please inform us or give your code which was you using
'
'
With above code you can use as say your amount in the A1
and it will appear the Words
Thanks
Patnaik
Please try the below given UDF code in your module
if any problem please inform us or give your code which was you using
'
Function SpellIndian(ByVal MyNumber) Dim Rupees, Paise, Temp Dim DecimalPlace, Count ReDim Place(9) As String Place(2) = " Thousand " Place(3) = " Lac " Place(4) = " Crore " Place(5) = " Arab " ' String representation of amount MyNumber = Trim(Str(MyNumber)) ' Position of decimal place 0 if none DecimalPlace = InStr(MyNumber, ".") 'Convert Paise and set MyNumber to Rupee amount If DecimalPlace > 0 Then Paise = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) & "00", 2)) MyNumber = Trim(Left(MyNumber, DecimalPlace - 1)) End If Count = 1 Do While MyNumber <> "" If Count = 1 Then Temp = GetHundreds(Right(MyNumber, 3)) If Count > 1 Then Temp = GetHundreds(Right(MyNumber, 2)) If Temp <> "" Then Rupees = Temp & Place(Count) & Rupees If Count = 1 And Len(MyNumber) > 3 Then MyNumber = Left(MyNumber, Len(MyNumber) - 3) Else If Count > 1 And Len(MyNumber) > 2 Then MyNumber = Left(MyNumber, Len(MyNumber) - 2) Else MyNumber = "" End If End If Count = Count + 1 Loop Select Case Rupees Case "" Rupees = "(Rupees" Case "One" Rupees = "(One Rupee)" Case Else 'Rupees = Rupees & " Rupees" Rupees = "(Rupees " & Rupees End Select Select Case Paise Case "" 'Paise = " and No Paise" 'Paise = "" Paise = (")Only") Case "One" Paise = ("and One Paisa") Case Else Paise = " and " & Paise & " Paise)" End Select SpellIndian = (Rupees & Paise) End Function '******************************************* ' Converts a number from 100-999 into text * '******************************************* Function GetHundreds(ByVal MyNumber) Dim Result As String If Val(MyNumber) = 0 Then Exit Function MyNumber = Right("000" & MyNumber, 3) 'Convert the hundreds place If Mid(MyNumber, 1, 1) <> "0" Then Result = GetDigit(Mid(MyNumber, 1, 1)) & " Hundred " End If 'Convert the tens and ones place If Mid(MyNumber, 2, 1) <> "0" Then Result = Result & GetTens(Mid(MyNumber, 2)) Else Result = Result & GetDigit(Mid(MyNumber, 3)) End If GetHundreds = Result End Function '********************************************* ' Converts a number from 10 to 99 into text. * '********************************************* Function GetTens(TensText) Dim Result As String Result = "" 'null out the temporary function value If Val(Left(TensText, 1)) = 1 Then ' If value between 10-19 Select Case Val(TensText) Case 10: Result = "Ten" Case 11: Result = "Eleven" Case 12: Result = "Twelve" Case 13: Result = "Thirteen" Case 14: Result = "Fourteen" Case 15: Result = "Fifteen" Case 16: Result = "Sixteen" Case 17: Result = "Seventeen" Case 18: Result = "Eighteen" Case 19: Result = "Nineteen" Case Else End Select Else ' If value between 20-99 Select Case Val(Left(TensText, 1)) Case 2: Result = "Twenty " Case 3: Result = "Thirty " Case 4: Result = "Forty " Case 5: Result = "Fifty " Case 6: Result = "Sixty " Case 7: Result = "Seventy " Case 8: Result = "Eighty " Case 9: Result = "Ninety " Case Else End Select Result = Result & GetDigit _ (Right(TensText, 1)) 'Retrieve ones place End If GetTens = Result End Function '******************************************* ' Converts a number from 1 to 9 into text. * '******************************************* Function GetDigit(Digit) Select Case Val(Digit) Case 1: GetDigit = "One" Case 2: GetDigit = "Two" Case 3: GetDigit = "Three" Case 4: GetDigit = "Four" Case 5: GetDigit = "Five" Case 6: GetDigit = "Six" Case 7: GetDigit = "Seven" Case 8: GetDigit = "Eight" Case 9: GetDigit = "Nine" Case Else: GetDigit = "" End Select End Function
'
With above code you can use as say your amount in the A1
=SpellIndian(a1)
and it will appear the Words
Thanks
Patnaik
Mar 13, 2014 at 08:47 AM
May 31, 2019 at 01:55 AM