Numbers To Text Function

Please Watch the below Video to act Upon and then Apply this code to use in your daily regime activity 

Numbers To Text Function

Copy this all and paste in developer tab and run the code 

Function NumberToWords(ByVal MyNumber)

    Dim Units As String

    Dim Tens As String

    Dim Hundreds As String

    Dim Thousands As String

    Dim TempStr As String

    Dim DecimalPlace As Integer

    Dim Count As Integer

    Dim DecimalValue As String


    ReDim Place(9) As String

    Place(2) = " Thousand "

    Place(3) = " Million "

    Place(4) = " Billion "

    Place(5) = " Trillion "


    MyNumber = Trim(CStr(MyNumber))

    DecimalPlace = InStr(MyNumber, ".")

    If DecimalPlace > 0 Then

        DecimalValue = Mid(MyNumber, DecimalPlace + 1)

        MyNumber = Trim(Left(MyNumber, DecimalPlace - 1))

    End If


    Count = 1

    Do While MyNumber <> ""

        TempStr = GetHundreds(Right(MyNumber, 3))

        If TempStr <> "" Then

            Units = TempStr & Place(Count) & Units

        End If

        If Len(MyNumber) > 3 Then

            MyNumber = Left(MyNumber, Len(MyNumber) - 3)

        Else

            MyNumber = ""

        End If

        Count = Count + 1

    Loop


    NumberToWords = Application.Trim(Units)

    If DecimalValue <> "" Then

        NumberToWords = NumberToWords & " and " & DecimalValue & "/100"

    End If

End Function


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


Function GetTens(TensText)

    Dim Result As String

    Result = ""         

    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"

            Case Else

        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 "

            Case Else

        End Select

        Result = Result & GetDigit(Right(TensText, 1))

    End If

    GetTens = Result

End Function


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