A Microsoft Office (Excel, Word) forum. OfficeFrustration

If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

Go Back   Home » OfficeFrustration forum » Microsoft Excel » Worksheet Functions
Site Map Home Register Authors List Search Today's Posts Mark Forums Read  

Readding Numerical value to ext



 
 
Thread Tools Display Modes
  #1  
Old December 4th, 2003, 09:40 AM
Hoang Han
external usenet poster
 
Posts: n/a
Default Readding Numerical value to ext

How do I cant to reading a numerical value of the cell to
text
Ex: A1 : $123
A2 : $123.50
A3 : $1,100.00
A4 : $109,100.50

The results will be display on B column is:
B1 : One hundred and twenty three dolars
B2 : One hundred and twenty three dolars and fifty
cents
B3 : One thousand and one hundred Dolars
B4 : One hundred and nine thousand and one hundred
dolars and fifty cents

  #2  
Old December 4th, 2003, 10:56 AM
xlbo
external usenet poster
 
Posts: n/a
Default Readding Numerical value to ext

You need a user defined function to do this. Go to the VBE and insert a new module, then copy and paste the following from "Option explicit" to "End Function"

Courtesy of Dale Watson:

Option Explicit

'================
' Main Function
'================
Function SpellNumber(ByVal MyNumber)
Dim Dollars, Cents, Temp
Dim DecimalPlace, Count

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

'String representation of number
MyNumber = Trim(Str(MyNumber))

'Position of decimal place - 0 if none
DecimalPlace = InStr(MyNumber, ".")
'Converts cents and sets MyNumber to dollar amount
If DecimalPlace 0 Then
Cents = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) & "00", 2))
MyNumber = Trim(Left(MyNumber, DecimalPlace - 1))
End If

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

Select Case Dollars
Case ""
Dollars = "No Dollars"
Case "One"
Dollars = "One Dollar"
Case Else
Dollars = Dollars & " Dollars"
End Select

Select Case Cents
Case ""
Cents = " and No Cents"
Case "One"
Cents = " and One Cent"
Case Else
Cents = " and " & Cents & " Cents"
End Select

SpellNumber = Dollars & Cents
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)

'Converts to hundreds place
If Mid(MyNumber, 1, 1) "0" Then
Result = GetDigit(Mid(MyNumber, 1, 1)) & " Hundred "
End If

'Converts to 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 number from 10 to 99 into text
'===========================================
Function GetTens(TensText)
Dim Result As String

Result = "" 'null out 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)) 'get ones place
End If
GetTens = Result
End Function

'===========================================
' Converts 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

enter
=spellnumber(A1)
where A1 is where the numerical value is
  #3  
Old December 4th, 2003, 05:37 PM
Gord Dibben
external usenet poster
 
Posts: n/a
Default Readding Numerical value to ext

Hoang

No built-in Function, but you can build your own User Defined Function using
the info at:

http://support.microsoft.com/default...;EN-US;q213360

OR download Laurent Longre's MOREFUNC.XLL from he

http://longre.free.fr/english/index.html

Has a Numbers to Words Function along with many other useful Functions.

Gord Dibben XL2002

On Thu, 4 Dec 2003 01:40:50 -0800, "Hoang Han" wrote:

How do I cant to reading a numerical value of the cell to
text
Ex: A1 : $123
A2 : $123.50
A3 : $1,100.00
A4 : $109,100.50

The results will be display on B column is:
B1 : One hundred and twenty three dolars
B2 : One hundred and twenty three dolars and fifty
cents
B3 : One thousand and one hundred Dolars
B4 : One hundred and nine thousand and one hundred
dolars and fifty cents


 




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Forum Jump


All times are GMT +1. The time now is 05:12 PM.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 OfficeFrustration.
The comments are property of their posters.