[go: up one dir, main page]

0% found this document useful (0 votes)
49 views3 pages

NumberToWords Excel VBA Guide

This document provides a step-by-step guide on how to create a VBA function in Excel to convert numbers into words. It includes detailed instructions for opening the VBA Editor, inserting a module, and pasting the provided code. Once implemented, users can utilize the function =NumberToWords(A1) to convert numbers in their Excel sheets.

Uploaded by

yadavrohit51684
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
49 views3 pages

NumberToWords Excel VBA Guide

This document provides a step-by-step guide on how to create a VBA function in Excel to convert numbers into words. It includes detailed instructions for opening the VBA Editor, inserting a module, and pasting the provided code. Once implemented, users can utilize the function =NumberToWords(A1) to convert numbers in their Excel sheets.

Uploaded by

yadavrohit51684
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 3

Convert Numbers to Words in Excel using VBA

Follow these steps to use a VBA function in Excel to convert numbers into words:

1. Press Alt + F11 to open the VBA Editor in Excel.

2. Go to Insert > Module.

3. Paste the following code into the module:

Function NumberToWords(ByVal MyNumber)


Dim Units As String
Dim SubUnits As String
Dim TempStr As String
Dim DecimalPlace As Integer
Dim Count As Integer

ReDim Place(9) As String


Place(2) = " Thousand "
Place(3) = " Million "
Place(4) = " Billion "

MyNumber = Trim(CStr(MyNumber))
DecimalPlace = InStr(MyNumber, ".")
If DecimalPlace > 0 Then
Units = Left(MyNumber, DecimalPlace - 1)
SubUnits = Mid(MyNumber, DecimalPlace + 1)
Else
Units = MyNumber
End If

Count = 1
Do While Units <> ""
TempStr = GetHundreds(Right(Units, 3))
If TempStr <> "" Then NumberToWords = TempStr & Place(Count) & NumberToWords
If Len(Units) > 3 Then
Units = Left(Units, Len(Units) - 3)
Else
Units = ""
End If
Count = Count + 1
Loop
NumberToWords = Application.Trim(NumberToWords)
If SubUnits <> "" Then
NumberToWords = NumberToWords & " and " & SubUnits & "/100"
End If
End Function

Private Function GetHundreds(ByVal MyNumber)


Dim Result As String
If Val(MyNumber) = 0 Then Exit Function
MyNumber = Right("000" & MyNumber, 3)
If Mid(MyNumber, 1, 1) <> "0" Then
Result = GetDigit(Mid(MyNumber, 1, 1)) & " Hundred "
End If
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

Private Function GetTens(TensText)


Dim Result As String
If Val(Left(TensText, 1)) = 1 Then
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"
End Select
Else
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 "
End Select
Result = Result & GetDigit(Right(TensText, 1))
End If
GetTens = Result
End Function

Private 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

4. Save and close the editor.

5. Now you can use the function =NumberToWords(A1) in Excel to convert numbers to
words.

You might also like