Creating User-Defined Functions

14.1 Creating Your Own Function

The structure of a function is as follows:
Public  Function functionName (Arg As dataType,..........) As dataType
or
Private  Function functionName (Arg As dataType,..........) As dataType
* Public indicates that the function is applicable to the whole project and

Example 14.1

In this example, a user can calculate the future value of a certain amount of money he has today based on the interest rate and the number of years from now,  supposing  he will invest this amount of money somewhere .The calculation is based on the compound interest rate.

The code

Public Function FV(PV As Variant, i As Variant, n As Variant) As Variant
'Formula to calculate Future Value(FV)
'PV denotes Present Value
FV = PV * (1 + i / 100) ^ n
End Function
Private Sub compute_Click()
'This procedure will calculate Future Value
Dim FutureVal As Variant
Dim PresentVal As Variant
Dim interest As Variant
Dim period As Variant
PresentVal = PV.Text
interest = rate.Text
period = years.Text
'calling the funciton
FutureVal = FV(PresentVal, interest, period)
MsgBox ("The Future Value is " & FutureVal)
End Sub

The Interface

Example 14.2

The following program will automatically compute examination grades based on the marks that a student obtained. The code is shown below:

The Code

Public Function grade(mark As Variant) As String
Select Case mark
Case Is >= 80
grade = "A"
Case Is >= 70
grade = "B"
Case Is >= 60
grade = "C"
Case Is >= 50
grade = "D"
Case Is >= 40
grade = "E"
Case Else
grade = "F"
End Select
End Function
Private Sub compute_Click()
grading.Caption = grade(mark)
End Sub


The Interface