Excel VBA Function Tutorial: Return, Call, Examples
Excel VBA Function Tutorial: Return, Call, Examples
What is a Function?
A function is a piece of code that performs a specific task and returns a result. Functions are mostly used to carry out repetitive tasks such as formatting data for output, performing calculations, etc.
Suppose you are developing a program that calculates interest on a loan. You can create a function that accepts the loan amount and the payback period. The function can then use the loan amount and payback period to calculate the interest and return the value.
Why use functions
The advantages of using functions are the same as the ones in the above section on why use subroutines.
Rules of naming functions
The rules for naming functions as the same as the ones in the above section on rules for naming subroutines.
How to write a TEST CASE Software Testing Tutorial
VBA Syntax for declaring Function
Private Function myFunction (ByVal arg1 As Integer, ByVal arg2 As Integer)myFunction = arg1 + arg2End Function
HERE in the syntax,
CodeAction
- "Private Function myFunction(…)"
- Here the keyword "Function" is used to declare a function named "myFunction" and start the body of the function.
- The keyword 'Private' is used to specify the scope of the function
- "ByVal arg1 As Integer, ByVal arg2 As Integer"
- It declares two parameters of integer data type named 'arg1' and 'arg2.'
- myFunction = arg1 + arg2
- evaluates the expression arg1 + arg2 and assigns the result to the name of the function.
- "End Function"
- "End Sub" is used to end the body of the function
Function demonstrated with Example:
Functions are very similar to the subroutine. The major difference between a subroutine and a function is that the function returns a value when it is called. While a subroutine does not return a value, when it is called. Let's say you want to add two numbers. You can create a function that accepts two numbers and returns the sum of the numbers.
- Create the user interface
- Add the function
- Write code for the command button
- Test the code
Step 1) User interface
Add a command button to the worksheet as shown below
Set the following properties of CommanButton1 to the following.
S/NControlPropertyValue1CommandButton1NamebtnAddNumbers2
CaptionAdd Numbers Function
Your interface should now appear as follows
Step 2) Function code.
- Press Alt + F11 to open the code window
- Add the following code
Private Function addNumbers(ByVal firstNumber As Integer, ByVal secondNumber As Integer)addNumbers = firstNumber + secondNumberEnd Function
HERE in the code,
CodeAction
- "Private Function addNumbers(…)"
- It declares a private function "addNumbers" that accepts two integer parameters.
- "ByVal firstNumber As Integer, ByVal secondNumber As Integer"
- It declares two parameter variables firstNumber and secondNumber
- "addNumbers = firstNumber + secondNumber"
- It adds the firstNumber and secondNumber values and assigns the sum to addNumbers.
Step 3) Write Code that calls the function
- Right click on btnAddNumbers_Click command button
- Select View Code
- Add the following code
Private Sub btnAddNumbersFunction_Click()MsgBox addNumbers(2, 3)End Sub
HERE in the code,
CodeAction"MsgBox addNumbers(2,3)"
- It calls the function addNumbers and passes in 2 and 3 as the parameters. The function returns the sum of the two numbers five (5)
Step 4) Run the program, you will get the following results
Download Excel containing above code
Summary:
- A function is a piece of code that performs a specific task. A function returns a value after execution.
- Both subroutines and functions offer code reusability
- Both subroutines and functions help break down large chunks of code into small manageable code.