Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.worksheet.functions
external usenet poster
 
Posts: 4
Default how can convert the figures in to the word in excel

Hi,

Kindly note that to prepare excel invoices daily. I have to write the total
amount of invoice both in figures and words, right now i m manually writing
the amount in words. Is there any formula to convert the figures to words?

I had also used the command i.e. spellnumber(..) but getting the message
#NAME?, Please guide and help on the above.

Lot of thanks in advance.

Thanks & Regards

Pradeep Kapoor

  #2   Report Post  
Posted to microsoft.public.excel.worksheet.functions
external usenet poster
 
Posts: 92
Default how can convert the figures in to the word in excel

Hello,

I suggest to take my user-defined-function spellnumber:
http://www.sulprobil.com/html/spellnumber.html

It's being used in banks but read my disclaimer, please.

You have to insert this function into a macro module: press ALT + F9,
insert module, copy text into module and get back to your worksheet.

And if you get other suggestions, I strongly recommend to test all of
them with test values given on my homepage and compare.

Regards,
Bernd

  #3   Report Post  
Posted to microsoft.public.excel.worksheet.functions
external usenet poster
 
Posts: 10,593
Default how can convert the figures in to the word in excel

With Spellnumber you have to create a VBA function called Spellnumber.

See http://www.xldynamic.com/source/xld.xlFAQ0004.html.

If you are in India, you might want this which handles the Indain number
format



'-----------------------------------------------------------*------
Function SpellNumber(ByVal MyNumber, _
Optional incRupees As Boolean = True)
'-----------------------------------------------------------*------
Dim Crores, Lakhs, Rupees, Paise, Temp
Dim DecimalPlace As Long, Count As Long
Dim myLakhs, myCrores

ReDim Place(9) As String
Place(2) = " Thousand ": Place(3) = " Million "
Place(4) = " Billion ": Place(5) = " Trillion "

' String representation of amount.
MyNumber = Trim(Str(MyNumber))

' Position of decimal place 0 if none.
DecimalPlace = InStr(MyNumber, ".")

' Convert Paise and set MyNumber to Rupees amount.
If DecimalPlace 0 Then
Paise = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) & "00", 2))
MyNumber = Trim(Left(MyNumber, DecimalPlace - 1))
End If
myCrores = MyNumber \ 10000000
myLakhs = (MyNumber - myCrores * 10000000) \ 100000
MyNumber = MyNumber - myCrores * 10000000 - myLakhs * 100000

Count = 1
Do While myCrores < ""
Temp = GetHundreds(Right(myCrores, 3))
If Temp < "" Then Crores = Temp & Place(Count) & Crores
If Len(myCrores) 3 Then
myCrores = Left(myCrores, Len(myCrores) - 3)
Else
myCrores = ""
End If
Count = Count + 1
Loop

Count = 1
Do While myLakhs < ""
Temp = GetHundreds(Right(myLakhs, 3))
If Temp < "" Then Lakhs = Temp & Place(Count) & Lakhs
If Len(myLakhs) 3 Then
myLakhs = Left(myLakhs, Len(myLakhs) - 3)
Else
myLakhs = ""
End If
Count = Count + 1
Loop

Count = 1
Do While MyNumber < ""
Temp = GetHundreds(Right(MyNumber, 3))
If Temp < "" Then Rupees = Temp & Place(Count) & Rupees
If Len(MyNumber) 3 Then
MyNumber = Left(MyNumber, Len(MyNumber) - 3)
Else
MyNumber = ""
End If
Count = Count + 1
Loop

Select Case Crores
Case "": Crores = ""
Case "One": Crores = " One Crore "
Case Else: Crores = Crores & " Crores "
End Select

Select Case Lakhs
Case "": Lakhs = ""
Case "One": Lakhs = " One Lakh "
Case Else: Lakhs = Lakhs & " Lakhs "
End Select

Select Case Rupees
Case "": Rupees = "Zero "
Case "One": Rupees = "One "
Case Else: Rupees = Rupees
End Select

Select Case Paise
Case "": Paise = " and Paise Zero Only "
Case "One": Paise = " and Paise One Only "
Case Else: Paise = " and Paise " & Paise & " Only "
End Select

SpellNumber = IIf(incRupees, "Rupees ", "") & Crores & Lakhs & 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

'-----------------------------------------------------------*------


--
HTH

Bob

(there's no email, no snail mail, but somewhere should be gmail in my addy)

"kapoor" wrote in message
...
Hi,

Kindly note that to prepare excel invoices daily. I have to write the
total
amount of invoice both in figures and words, right now i m manually
writing
the amount in words. Is there any formula to convert the figures to words?

I had also used the command i.e. spellnumber(..) but getting the message
#NAME?, Please guide and help on the above.

Lot of thanks in advance.

Thanks & Regards

Pradeep Kapoor




  #4   Report Post  
Posted to microsoft.public.excel.worksheet.functions
external usenet poster
 
Posts: 4
Default how can convert the figures in to the word in excel

Dear Sir,

First of all Thanks for giving your valuable guidelines for the above but I
am still facing the problem. Can you send me some file by incorporating this
formula. I will be very thankful, if you send me such file.

Thanks & Regards

Pradeep Kapoor


"Bob Phillips" wrote:

With Spellnumber you have to create a VBA function called Spellnumber.

See http://www.xldynamic.com/source/xld.xlFAQ0004.html.

If you are in India, you might want this which handles the Indain number
format



'-----------------------------------------------------------Â*------
Function SpellNumber(ByVal MyNumber, _
Optional incRupees As Boolean = True)
'-----------------------------------------------------------Â*------
Dim Crores, Lakhs, Rupees, Paise, Temp
Dim DecimalPlace As Long, Count As Long
Dim myLakhs, myCrores

ReDim Place(9) As String
Place(2) = " Thousand ": Place(3) = " Million "
Place(4) = " Billion ": Place(5) = " Trillion "

' String representation of amount.
MyNumber = Trim(Str(MyNumber))

' Position of decimal place 0 if none.
DecimalPlace = InStr(MyNumber, ".")

' Convert Paise and set MyNumber to Rupees amount.
If DecimalPlace 0 Then
Paise = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) & "00", 2))
MyNumber = Trim(Left(MyNumber, DecimalPlace - 1))
End If
myCrores = MyNumber \ 10000000
myLakhs = (MyNumber - myCrores * 10000000) \ 100000
MyNumber = MyNumber - myCrores * 10000000 - myLakhs * 100000

Count = 1
Do While myCrores < ""
Temp = GetHundreds(Right(myCrores, 3))
If Temp < "" Then Crores = Temp & Place(Count) & Crores
If Len(myCrores) 3 Then
myCrores = Left(myCrores, Len(myCrores) - 3)
Else
myCrores = ""
End If
Count = Count + 1
Loop

Count = 1
Do While myLakhs < ""
Temp = GetHundreds(Right(myLakhs, 3))
If Temp < "" Then Lakhs = Temp & Place(Count) & Lakhs
If Len(myLakhs) 3 Then
myLakhs = Left(myLakhs, Len(myLakhs) - 3)
Else
myLakhs = ""
End If
Count = Count + 1
Loop

Count = 1
Do While MyNumber < ""
Temp = GetHundreds(Right(MyNumber, 3))
If Temp < "" Then Rupees = Temp & Place(Count) & Rupees
If Len(MyNumber) 3 Then
MyNumber = Left(MyNumber, Len(MyNumber) - 3)
Else
MyNumber = ""
End If
Count = Count + 1
Loop

Select Case Crores
Case "": Crores = ""
Case "One": Crores = " One Crore "
Case Else: Crores = Crores & " Crores "
End Select

Select Case Lakhs
Case "": Lakhs = ""
Case "One": Lakhs = " One Lakh "
Case Else: Lakhs = Lakhs & " Lakhs "
End Select

Select Case Rupees
Case "": Rupees = "Zero "
Case "One": Rupees = "One "
Case Else: Rupees = Rupees
End Select

Select Case Paise
Case "": Paise = " and Paise Zero Only "
Case "One": Paise = " and Paise One Only "
Case Else: Paise = " and Paise " & Paise & " Only "
End Select

SpellNumber = IIf(incRupees, "Rupees ", "") & Crores & Lakhs & 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

'-----------------------------------------------------------Â*------


--
HTH

Bob

(there's no email, no snail mail, but somewhere should be gmail in my addy)

"kapoor" wrote in message
...
Hi,

Kindly note that to prepare excel invoices daily. I have to write the
total
amount of invoice both in figures and words, right now i m manually
writing
the amount in words. Is there any formula to convert the figures to words?

I had also used the command i.e. spellnumber(..) but getting the message
#NAME?, Please guide and help on the above.

Lot of thanks in advance.

Thanks & Regards

Pradeep Kapoor





  #5   Report Post  
Posted to microsoft.public.excel.worksheet.functions
external usenet poster
 
Posts: 4
Default how can convert the figures in to the word in excel

Dear Sir,

I am still facing the problem. Can you send me some file in which this
formula is used and also guide me how i can incorporate this in my worksheet
because as advised by you, I had tried by pussing ALT + F9 but nothing is
appearing.

Your early reply will be highly appreciated and hope will help me a lot

Thanks & Regards

Pradeep Kapoor


"Bernd" wrote:

Hello,

I suggest to take my user-defined-function spellnumber:
http://www.sulprobil.com/html/spellnumber.html

It's being used in banks but read my disclaimer, please.

You have to insert this function into a macro module: press ALT + F9,
insert module, copy text into module and get back to your worksheet.

And if you get other suggestions, I strongly recommend to test all of
them with test values given on my homepage and compare.

Regards,
Bernd




  #6   Report Post  
Posted to microsoft.public.excel.worksheet.functions
external usenet poster
 
Posts: 92
Default how can convert the figures in to the word in excel

Hello,

Press ALT + F11 (not F9), then insert module, copy my function text
into that module, go back to worksheet and enter into a cell
=spellnumer(23.45)
or
=spellnumber(A1)
and into cell A1
23.45
and so on.

Regards,
Bernd

  #7   Report Post  
Posted to microsoft.public.excel.worksheet.functions
external usenet poster
 
Posts: 4
Default how can convert the figures in to the word in excel

Dear Sir,

As advised by you, Today I had tried to do it and after opening the
worksheet, press ALT + F11 then a menu appear called Microsoft Visual Basic -
MANUAL INVOICING - 3100001.XLS [design] - [ Module3(Code)] and copied the
content on module 3 as mentioned in your mail and tried to activate the
formula but it is not working.

Please advise or send me some file in which the same was used.

Please help me sir.

Thanks & Regards

Pradeep Kapoor


"Bernd" wrote:

Hello,

Press ALT + F11 (not F9), then insert module, copy my function text
into that module, go back to worksheet and enter into a cell
=spellnumer(23.45)
or
=spellnumber(A1)
and into cell A1
23.45
and so on.

Regards,
Bernd


  #8   Report Post  
Posted to microsoft.public.excel.worksheet.functions
external usenet poster
 
Posts: 92
Default how can convert the figures in to the word in excel

Hello,

Send me an email.

Regards,
Bernd

Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
how do I convert figures(example 2000) to word narendra singh Excel Discussion (Misc queries) 1 August 4th 06 03:07 PM
Convert Figures to Words in Excel Friend from India Excel Discussion (Misc queries) 2 June 22nd 06 11:17 AM
How to Convert Figures into Text in Excel m_azim1 Excel Worksheet Functions 3 April 5th 06 05:45 PM
convert figures in to word example 350/- three thousand and fifty convert Excel Discussion (Misc queries) 3 September 1st 05 10:42 AM
how do i convert figures into words in excel? margeo@ph Excel Discussion (Misc queries) 2 August 30th 05 09:44 AM


All times are GMT +1. The time now is 09:36 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"