## Convert Peso number into English words

In this post, I will show you how to convert a peso number into words in Microsoft Excel. It is very useful when using a Microsoft Excel workbook template to print checks. We will guide you how to use the SpellNUmber function formula in Microsoft Excel. Thus, any amount in Peso currency allows you to convert into English words.

To convert a Dollar amount into words, please visit this article from Microsoft, click here.

## What is SpellNumber function?

SpellNumber function is a formula used to convert numbers into English words in Microsoft Excel. To add this capability, you need to paste the** SpellNumber** function code into a **VBA (Visual Basic for Applications)** module and save as **Excel Macro Enabled Workbook**.

Here is the guide on how to create the SpellNumber function.

## Creating SpellNumber function

**STEP 1**. Open your **Microsoft Excel Workbook**. In a blank cell, type the peso amount or number you want to convert. Later you have to type in a blank cell the formula =SpellNumber(D8) to get result. Where D8 is the cell location of peso number.

As sample below I have provide **P150.45** then it must be turned into One Hundred Fifty Pesos & 45/100 by using the formula **=SpellNumber**.

**STEP 2.** Press **Alt + F11** key, it will open the visual basic window. Click** Insert **tab, then **Module** folder under VBA Project. Copy codes below, then Paste in the blank module.

Highlight and Copy Codes below

```
Option Explicit
'Main Function
Function SpellNumber(ByVal MyNumber)
Dim Pesos, 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 amount.
MyNumber = Trim(Str(MyNumber))
' Position of decimal place 0 if none.
DecimalPlace = InStr(MyNumber, ".")
' Convert cents and set MyNumber to dollar amount.
If DecimalPlace > 0 Then
Cents = GetTens2(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 Pesos = Temp & Place(Count) & Pesos
If Len(MyNumber) > 3 Then
MyNumber = Left(MyNumber, Len(MyNumber) - 3)
Else
MyNumber = ""
End If
Count = Count + 1
Loop
Select Case Pesos
Case ""
Pesos = "No Pesos"
Case "One"
Pesos = "One Peso"
Case Else
Pesos = Pesos & ""
End Select
Select Case Cents
Case ""
Cents = " Pesos Only "
Case "One"
Cents = " and One Cent"
Case Else
Cents = " & " & Cents & "/100 Pesos Only"
End Select
SpellNumber = Pesos & 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)
' 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
' Converts a number from 10 to 99 into text.
Function GetTens2(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 = "10"
Case 11: Result = "11"
Case 12: Result = "12"
Case 13: Result = "13"
Case 14: Result = "14"
Case 15: Result = "15"
Case 16: Result = "16"
Case 17: Result = "17"
Case 18: Result = "18"
Case 19: Result = "19"
Case Else
End Select
Else ' If value between 20-99...
Select Case Val(Left(TensText, 1))
Case 2: Result = "2"
Case 3: Result = "3"
Case 4: Result = "4"
Case 5: Result = "5"
Case 6: Result = "6"
Case 7: Result = "7"
Case 8: Result = "8"
Case 9: Result = "9"
Case Else
End Select
Result = Result & GetDigit2 _
(Right(TensText, 1)) ' Retrieve ones place.
End If
GetTens2 = Result
End Function
' Converts a number from 1 to 9 into text.
Function GetDigit2(Digit)
Select Case Val(Digit)
Case 0: GetDigit2 = "0"
Case 1: GetDigit2 = "1"
Case 2: GetDigit2 = "2"
Case 3: GetDigit2 = "3"
Case 4: GetDigit2 = "4"
Case 5: GetDigit2 = "5"
Case 6: GetDigit2 = "6"
Case 7: GetDigit2 = "7"
Case 8: GetDigit2 = "8"
Case 9: GetDigit2 = "9"
Case Else: GetDigit2 = ""
End Select
End Function
```

**STEP 3**. Press **Alt + Q** to close, then save your document as **Excel Macro Enabled Workbook.**

**STEP 4.** Open your Microsoft Excel workbook again. Try using the formula =SpellNumber(Cell Reference) and press enter. For Example, **=SpellNumber(D8) **where D8 is the cell containing the number you want to convert. You can also type the number manually, like =SpellNumber(150.45). It should convert the Peso number to English words.

This guide was made using Microsoft Excel 2019 version.

That’s it, you’re done. If you have question on how to convert peso number into words in Excel please leave a comment below.

i Try folowing this instrustion it working at first but on the second time its not working anymore

itry to reset it again but what appears is (#Name?). how can i reset this? please help

Hi Heart,

You forgot to include (Cell location) after the SpellNumber formula. Make sure that all macros are enabled. Good Luck

Hi! I keep watching this from Youtube but it’s not working, when I found your instructions I finally made it. It’s a big help for my job. God bless you. Thank you so much.

Thank you Anney!!

thank you very much. very helpful.

I follow the instructon but the decimal point was not add 1