To call from form Dim Amount as double Dim Resust as string Amount = txtfee.text Result = stringAmt(amount) MsgBox result 'Copy the following program and paste it in a module. (from \\ to //) '\\<--------------- FUNCTION TO DISPLAY AMOUNT IN WORDS. --------------------- Public Function stringAmt(amt As Double) As String Dim str1 As String Dim a(12) As Integer Dim i As Integer Dim tVal As Integer For i = 1 To 12 a(i) = Val(Mid(Format(amt, "000000000.00"), i, 1)) Next i str1 = Empty stringAmt = Empty tVal = Val(LTrim(RTrim(Str(a(1)) & Str(a(2))))) If a(2) = 0 Then ' tVal = Val(LTrim(RTrim(Str(a(1)) & Str(a(2))))) str1 = str1 + strDigit(tVal) Else If tVal < 20 Then str1 = str1 & strDigit(tVal) Else tVal = a(1) If tVal <> 0 Then str1 = str1 & strTY(tVal) End If tVal = a(2) If tVal <> 0 Then str1 = str1 & Space(1) & strDigit(tVal) End If End If End If stringAmt = stringAmt + str1 + IIf(str1 <> Empty, " Crore ", Empty) str1 = Empty tVal = Val(LTrim(RTrim(Str(a(3)) & Str(a(4))))) If a(4) = 0 Then str1 = str1 & strDigit(tVal) Else If tVal < 20 Then str1 = str1 & strDigit(tVal) Else tVal = a(3) If tVal <> 0 Then str1 = str1 & strTY(tVal) End If tVal = a(4) If tVal <> 0 Then str1 = str1 & Space(1) & strDigit(tVal) End If End If End If stringAmt = stringAmt + str1 + IIf(str1 <> Empty, " Lakh ", Empty) str1 = Empty tVal = Val(LTrim(RTrim(Str(a(5)) & Str(a(6))))) If a(6) = 0 Then str1 = str1 & strDigit(tVal) Else If tVal < 20 Then str1 = str1 & strDigit(tVal) Else tVal = a(5) If tVal <> 0 Then str1 = str1 & strTY(tVal) End If tVal = a(6) If tVal <> 0 Then str1 = str1 & Space(1) & strDigit(tVal) End If End If End If 'stringAmt = stringAmt + IIf(str1 <> Empty, "and ", Empty) stringAmt = stringAmt + str1 + IIf(str1 > Empty, " Thousand ", Empty) tVal = a(7) If tVal <> 0 Then stringAmt = stringAmt & Space(1) & strDigit(tVal) & " Hundred " End If str1 = Empty tVal = Val(LTrim(RTrim(Str(a(8)) & Str(a(9))))) If a(9) = 0 Then str1 = str1 & strDigit(tVal) Else If tVal < 20 Then str1 = str1 & strDigit(tVal) Else tVal = a(8) If tVal <> 0 Then str1 = str1 & strTY(tVal) End If tVal = a(9) If tVal <> 0 Then str1 = str1 & " " & strDigit(tVal) End If End If End If stringAmt = stringAmt & IIf(str1 <> Empty, str1, Empty) ' To add the Paise str1 = Empty tVal = Val(LTrim(RTrim(Str(a(11)) & Str(a(12))))) If a(12) = 0 Then str1 = str1 & strDigit(tVal) Else If tVal < 20 Then str1 = str1 & strDigit(tVal) Else tVal = a(11) If tVal <> 0 Then str1 = str1 & strTY(tVal) End If tVal = a(12) If tVal <> 0 Then str1 = str1 & " " & strDigit(tVal) End If End If End If stringAmt = stringAmt + IIf(str1 <> Empty, " and " & str1 & " Paise ", Empty) stringAmt = stringAmt & " Only" End Function Function strDigit(Digit As Integer) As String Select Case Digit Case 1 strDigit = "One" Case 2 strDigit = "Two" Case 3 strDigit = "Three" Case 4 strDigit = "Four" Case 5 strDigit = "Five" Case 6 strDigit = "Six" Case 7 strDigit = "Seven" Case 8 strDigit = "Eight" Case 9 strDigit = "Nine" Case 10 strDigit = "Ten" Case 11 strDigit = "Eleven" Case 12 strDigit = "Twelve" Case 13 strDigit = "Thirteen" Case 14 strDigit = "Fourteen" Case 15 strDigit = "Fifteen" Case 16 strDigit = "Sixteen" Case 17 strDigit = "Seventeen" Case 18 strDigit = "Eighteen" Case 19 strDigit = "Nineteen" Case 20 strDigit = "Twenty" Case 30 strDigit = "Thirty" Case 40 strDigit = "Forty" Case 50 strDigit = "Fifty" Case 60 strDigit = "Sixty" Case 70 strDigit = "Seventy" Case 80 strDigit = "Eighty" Case 90 strDigit = "Ninty" End Select End Function Function strTY(Digit As Integer) As String Select Case Digit Case 2 strTY = "Twenty" Case 3 strTY = "Thirty" Case 4 strTY = "Forty" Case 5 strTY = "Fifty" Case 6 strTY = "Sixty" Case 7 strTY = "Seventy" Case 8 strTY = "Eighty" Case 9 strTY = "Ninty" End Select End Function ' END OF FUNCTION TO DISPLAY RUPEES IN WORDS // 'Dev.By C.Kums