Function CurrencyToWord(ByVal MyNumber)Dim TempDim Rupees, Paisa As StringDim DecimalPlace, iCountDim Hundreds, Words As StringReDim Place(9) As StringPlace(0) = " Thousand "Place(2) = " Lakh "Place(4) = " Crore "Place(6) = " Arab "Place(8) = " Kharab "On Error Resume NextMyNumber = Trim(Str(MyNumber))Hundreds = ConvertHundreds(Right(MyNumber, 3))
If Len(MyNumber) >= 3 ThenMyNumber = Left(MyNumber, Len(MyNumber) - 3)
iCount = 0Do While MyNumber <> ""
Temp = Right(MyNumber, 2)If Len(MyNumber) = 1 ThenWords = ConvertDigit(Temp) & Place(iCount) & WordsMyNumber = Left(MyNumber, Len(MyNumber) - 1)
ElseWords = ConvertTens(Temp) & Place(iCount) & WordsMyNumber = Left(MyNumber, Len(MyNumber) - 2)End IfiCount = iCount + 2Loop
End If
CurrencyToWord = "Rs. " & Words & Hundreds & Paisa & " Only"
End FunctionPrivate Function ConvertHundreds(ByVal MyNumber)Dim Result As String
If Val(MyNumber) = 0 Then Exit Function
MyNumber = Right("000" & MyNumber, 3)
If Left(MyNumber, 1) <> "0" ThenResult = ConvertDigit(Left(MyNumber, 1)) & " Hundred "End If
If Mid(MyNumber, 2, 1) <> "0" ThenResult = Result & ConvertTens(Mid(MyNumber, 2))Else
Result = Result & ConvertDigit(Mid(MyNumber, 3))End If
ConvertHundreds = Trim(Result)End Function
Private Function ConvertTens(ByVal MyTens)Dim Result As StringIf Val(Left(MyTens, 1)) = 1 ThenSelect Case Val(MyTens)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 ElseEnd SelectElse
Select Case Val(Left(MyTens, 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 ElseEnd Select
Result = Result & ConvertDigit(Right(MyTens, 1))End If
ConvertTens = ResultEnd Function
Private Function ConvertDigit(ByVal MyDigit)Select Case Val(MyDigit)Case 1: ConvertDigit = "One"Case 2: ConvertDigit = "Two"Case 3: ConvertDigit = "Three"Case 4: ConvertDigit = "Four"Case 5: ConvertDigit = "Five"Case 6: ConvertDigit = "Six"Case 7: ConvertDigit = "Seven"Case 8: ConvertDigit = "Eight"Case 9: ConvertDigit = "Nine"Case Else: ConvertDigit = ""End SelectEnd Function
-------------------------------------------------------------------------------------
Steps to use this code:-
1. Open Excel
2. Go to Tools-->Macro-->visual basic editor
3. Go to Insert-->Module
4. Paste the above code.
5. Now come to excel, Go to Insert--> Functions
6. Select user defined function and then select CurrencyToWord()
7. Then ok
Dialogue box will appear it will ask for number enter the no. it will be converted
other way of using is
=CurrencyToWord(A1)
where 'A1' is the cellno.
Thursday, September 13, 2007
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment