Deshmukh Sadanand
Mar 28th, 2000, 05:26 PM
Please anyone can convert the following code to use it as a fucntion in Excel-97 or please guide me to do it.
****** code *******
Dim no As Double
Dim a1 As Double
Dim a2 As Double
Dim a3 As Double
Dim a4 As Double
Dim ntow As String
Dim u As Integer
Dim A(27) As String
Private Function start()
A(1) = "One "
A(2) = "Two "
A(3) = "Three "
A(4) = "Four "
A(5) = "Five "
A(6) = "Six "
A(7) = "Seven "
A(8) = "Eight "
A(9) = "Nine "
A(10) = "Ten "
A(11) = "Eleven "
A(12) = "Tweleve "
A(13) = "Thriteen "
A(14) = "Fourteen "
A(15) = "Fifteen "
A(16) = "Sixteen "
A(17) = "Seventeen "
A(18) = "Eighteen "
A(19) = "Nineteen "
A(20) = "Twenty "
A(21) = "Thirty "
A(22) = "Fourty "
A(23) = "Fifty "
A(24) = "Sixty "
A(25) = "Seventy "
A(26) = "Eighty "
A(27) = "Ninety "
End Function
Public Function ntow1(A As Double)
Call start
no = A
If no > 10000000 And no <> 0 Then
u = MsgBox("Number is out of range", vbCritical, "User Message")
End If
n4 = Int(no)
n4 = (no - n4) * 100
no = Int(no)
Select Case no
Case Is < 21
ntow = funct_1()
Case 21 To 99
ntow = funct_2()
Case 100 To 999
ntow = funct_3()
Case 1000 To 99999
ntow = funct_4()
Case 100000 To 9999999
ntow = funct_5()
End Select
If n4 <> 0 Then
no = n4
If no < 21 And no <> 0 Then
ntow = ntow + "& " + funct_1() + "Paise Only "
Else
ntow = ntow + "& " + funct_2() + "Paise Only "
End If
End If
ntow1 = "Rs. " + ntow
End Function
Private Function funct_1() As String
funct_1 = A(no)
End Function
Private Function funct_2() As String
a1 = Int(no / 10)
no = no - a1 * 10
funct_2 = A(a1 + 18)
If no < 21 And no <> 0 Then
funct_2 = funct_2 + funct_1()
End If
End Function
Private Function funct_3() As String
a1 = Int(no / 100)
no = no - a1 * 100
If a1 < 21 And a1 <> 0 Then
funct_3 = A(a1) + "Hundred "
End If
If no >= 21 And no < 100 Then
a1 = Int(no / 10)
no = no - a1 * 10
funct_3 = funct_3 + A(a1 + 18)
End If
If no < 21 And no <> 0 Then
funct_3 = funct_3 + A(no)
End If
End Function
Private Function funct_4() As String
a1 = Int(no / 1000)
no = no - a1 * 1000
If a1 < 21 And a1 <> 0 Then
funct_4 = A(a1) + "Thousand "
Else
If a1 >= 21 And a1 < 100 Then
a2 = Int(a1 / 10)
a1 = a1 - a2 * 10
funct_4 = funct_4 + A(a2 + 18)
End If
If a1 < 21 And a1 <> 0 Then
funct_4 = funct_4 + A(a1)
End If
funct_4 = funct_4 + "Thousand "
End If
If no <> 0 Then
funct_4 = funct_4 + funct_3()
End If
End Function
Private Function funct_5() As String
a1 = Int(no / 100000)
no = no - a1 * 100000
If a1 < 21 And a1 <> 0 Then
funct_5 = A(a1) + "Lac "
Else
If a1 >= 21 And a1 < 100 Then
a2 = Int(a1 / 10)
a1 = a1 - a2 * 10
funct_5 = funct_5 + A(a2 + 18)
End If
If a1 < 21 And a1 <> 0 Then
funct_5 = funct_5 + A(a1)
End If
funct_5 = funct_5 + "Lac "
End If
If no <> 0 Then
If no < 21 Then
funct_5 = funct_5 + funct_1()
End If
If no >= 21 And no < 100 Then
funct_5 = funct_5 + funct_2()
End If
If no >= 100 And no < 1000 Then
funct_5 = funct_5 + funct_3()
End If
If no >= 1000 And no < 100000 Then
funct_5 = funct_5 + funct_4()
End If
End If
End Function
****** code *******
Dim no As Double
Dim a1 As Double
Dim a2 As Double
Dim a3 As Double
Dim a4 As Double
Dim ntow As String
Dim u As Integer
Dim A(27) As String
Private Function start()
A(1) = "One "
A(2) = "Two "
A(3) = "Three "
A(4) = "Four "
A(5) = "Five "
A(6) = "Six "
A(7) = "Seven "
A(8) = "Eight "
A(9) = "Nine "
A(10) = "Ten "
A(11) = "Eleven "
A(12) = "Tweleve "
A(13) = "Thriteen "
A(14) = "Fourteen "
A(15) = "Fifteen "
A(16) = "Sixteen "
A(17) = "Seventeen "
A(18) = "Eighteen "
A(19) = "Nineteen "
A(20) = "Twenty "
A(21) = "Thirty "
A(22) = "Fourty "
A(23) = "Fifty "
A(24) = "Sixty "
A(25) = "Seventy "
A(26) = "Eighty "
A(27) = "Ninety "
End Function
Public Function ntow1(A As Double)
Call start
no = A
If no > 10000000 And no <> 0 Then
u = MsgBox("Number is out of range", vbCritical, "User Message")
End If
n4 = Int(no)
n4 = (no - n4) * 100
no = Int(no)
Select Case no
Case Is < 21
ntow = funct_1()
Case 21 To 99
ntow = funct_2()
Case 100 To 999
ntow = funct_3()
Case 1000 To 99999
ntow = funct_4()
Case 100000 To 9999999
ntow = funct_5()
End Select
If n4 <> 0 Then
no = n4
If no < 21 And no <> 0 Then
ntow = ntow + "& " + funct_1() + "Paise Only "
Else
ntow = ntow + "& " + funct_2() + "Paise Only "
End If
End If
ntow1 = "Rs. " + ntow
End Function
Private Function funct_1() As String
funct_1 = A(no)
End Function
Private Function funct_2() As String
a1 = Int(no / 10)
no = no - a1 * 10
funct_2 = A(a1 + 18)
If no < 21 And no <> 0 Then
funct_2 = funct_2 + funct_1()
End If
End Function
Private Function funct_3() As String
a1 = Int(no / 100)
no = no - a1 * 100
If a1 < 21 And a1 <> 0 Then
funct_3 = A(a1) + "Hundred "
End If
If no >= 21 And no < 100 Then
a1 = Int(no / 10)
no = no - a1 * 10
funct_3 = funct_3 + A(a1 + 18)
End If
If no < 21 And no <> 0 Then
funct_3 = funct_3 + A(no)
End If
End Function
Private Function funct_4() As String
a1 = Int(no / 1000)
no = no - a1 * 1000
If a1 < 21 And a1 <> 0 Then
funct_4 = A(a1) + "Thousand "
Else
If a1 >= 21 And a1 < 100 Then
a2 = Int(a1 / 10)
a1 = a1 - a2 * 10
funct_4 = funct_4 + A(a2 + 18)
End If
If a1 < 21 And a1 <> 0 Then
funct_4 = funct_4 + A(a1)
End If
funct_4 = funct_4 + "Thousand "
End If
If no <> 0 Then
funct_4 = funct_4 + funct_3()
End If
End Function
Private Function funct_5() As String
a1 = Int(no / 100000)
no = no - a1 * 100000
If a1 < 21 And a1 <> 0 Then
funct_5 = A(a1) + "Lac "
Else
If a1 >= 21 And a1 < 100 Then
a2 = Int(a1 / 10)
a1 = a1 - a2 * 10
funct_5 = funct_5 + A(a2 + 18)
End If
If a1 < 21 And a1 <> 0 Then
funct_5 = funct_5 + A(a1)
End If
funct_5 = funct_5 + "Lac "
End If
If no <> 0 Then
If no < 21 Then
funct_5 = funct_5 + funct_1()
End If
If no >= 21 And no < 100 Then
funct_5 = funct_5 + funct_2()
End If
If no >= 100 And no < 1000 Then
funct_5 = funct_5 + funct_3()
End If
If no >= 1000 And no < 100000 Then
funct_5 = funct_5 + funct_4()
End If
End If
End Function