Introduction This article would explain how to create a user define function in excel file with micro. Implementation Following Are Step by step process for Done All thing Open Excel then press alt+F11 Go to insert Manu ---->module copy past following code in module Code {codecitation class="brush: vb; gutter: true;" width="500px"} Function ConvertCurrencyToEnglish(ByVal MyNumber) Dim Temp Dim Dollars, Cents Dim DecimalPlace, Count
ReDim Place(9) As String Place(2) = " Thousand " Place(3) = " Million " Place(4) = " Billion " Place(5) = " Trillion " ' Convert MyNumber to a string, trimming extra spaces.
MyNumber = Trim(Str(MyNumber)) ' Find decimal place. DecimalPlace = InStr(MyNumber, ".")
' If we find decimal place...
If DecimalPlace > 0 Then ' Convert cents Temp = Left(Mid(MyNumber, DecimalPlace + 1) & "00", 2) Cents = ConvertTens(Temp)
' Strip off cents from remainder to convert. MyNumber = Trim(Left(MyNumber, DecimalPlace - 1))
End If Count = 1 Do While MyNumber <> "" ' Convert last 3 digits of MyNumber to English dollars. Temp = ConvertHundreds(Right(MyNumber, 3)) If Temp <> "" Then Dollars = Temp & Place(Count) & Dollars If Len(MyNumber) > 3 Then ' Remove last 3 converted digits from MyNumber. MyNumber = Left(MyNumber, Len(MyNumber) - 3) Else MyNumber = "" End If Count = Count + 1 Loop
' Clean up dollars. Select Case Dollars Case "" Dollars = "" Case "One" Dollars = "One Rupees" Case Else Dollars = Dollars & " Rupees" End Select
' Clean up cents.
Select Case Cents Case "" Cents = "" Case "One" Cents = " And One Paisa" Case Else Cents = " And " & Cents & " Paisa" End Select
ConvertCurrencyToEnglish = Dollars & Cents End Function
Private Function ConvertHundreds(ByVal MyNumber)
Dim Result As String
' Exit if there is nothing to convert. If Val(MyNumber) = 0 Then Exit Function ' Append leading zeros to number. MyNumber = Right("000" & MyNumber, 3) ' Do we have a hundreds place digit to convert? If Left(MyNumber, 1) <> "0" Then Result = ConvertDigit(Left(MyNumber, 1)) & " Hundred " End If ' Do we have a tens place digit to convert? If Mid(MyNumber, 2, 1) <> "0" Then Result = Result & ConvertTens(Mid(MyNumber, 2)) Else ' If not, then convert the ones place digit. Result = Result & ConvertDigit(Mid(MyNumber, 3)) End If ConvertHundreds = Trim(Result) End Function
Private Function ConvertTens(ByVal MyTens) Dim Result As String ' Is value between 10 and 19? If Val(Left(MyTens, 1)) = 1 Then Select 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 Else End Select Else ' .. otherwise it's between 20 and 99.
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 Else End Select ' Convert ones place digit. Result = Result & ConvertDigit(Right(MyTens, 1)) End If ConvertTens = Result End Function
{/codecitation} Finaly we need save above function, to this Press Ctrl+S or File-Save Close This Programme in excel work sheet. Then go to insert---->function Select user define function you see your function name is there. To Test Pass Parameter Like ConvertCurrencyToEnglish(CellAddress Like A15) Conclusion This article explian add user define function with in excel file for any custom operation. It's means we can have currency conversion, or calculate tax and so on. Thank you
| About the Author |
 | | Kirti Darji | P.G.D.C.A, M.SC(Computer Science) 3+ YEAR EXPERIENCE Visual C#.net and VB.net Windows and Web base Application
Expertise :C#.net, VB.Net,ASP.net,SQL Server, MS Access,aJAX, JavaScript,CSS,HTML,XML,N TIRE ARCHITECTURE,oOPS,Web Services,Core Ajax,visual Source safe,IIS
Occupation :SR. Software Developer Company : MADHUVAN INFO TECH PVT.LTD Location :AHMADABAD
|
|
|