- VBA - Userforms
- VBA - Programming Charts
- VBA - Text Files
- VBA - Excel Objects
- VBA - Error Handling
- VBA - Events
- VBA - Sub Procedure
- VBA - Functions
- VBA - Arrays
- VBA - Date and Time
- VBA - Strings
- VBA - Loops
- VBA - Decisions
- VBA - Operators
- VBA - Constants
- VBA - Variables
- VBA - Input Box
- VBA - Message Box
- VBA - Macro Comments
- VBA - Excel Terms
- VBA - Excel Macros
- VBA - Overview
- VBA - Home
VBA Useful Resources
Selected Reading
- Who is Who
- Computer Glossary
- HR Interview Questions
- Effective Resume Writing
- Questions and Answers
- UPSC IAS Exams Notes
VBA - Sub Procedure
Sub Procedures are similar to functions, however there are a few differences.
Sub procedures DO NOT Return a value while functions may or may not return a value.
Sub procedures CAN be called without a call keyword.
Sub procedures are always enclosed within Sub and End Sub statements.
Example
Sub Area(x As Double, y As Double) MsgBox x * y End Sub
Calpng Procedures
To invoke a Procedure somewhere in the script, you can make a call from a function. We will not be able to use the same way as that of a function as sub procedure WILL NOT return a value.
Function findArea(Length As Double, Width As Variant) area Length, Width To Calculate Area area sub proc is called End Function
Now you will be able to call the function only but not the sub procedure as shown in the following screenshot.
![Sub Procedure in VBA](/vba/images/sub_procedure.jpg)
The area is calculated and shown only in the Message box.
![Calculate Area Sub 2 in VBA](/vba/images/calculate_area_sub_2.jpg)
The result cell displays ZERO as the area value is NOT returned from the function. In short, you cannot make a direct call to a sub procedure from the excel worksheet.
![Calculate Area Sub 3 in VBA](/vba/images/calculate_area_sub_3.jpg)