Vba Excel 2
Vba Excel 2
In this chapter, you will acquaint yourself with the commonly used excel VBA terminologies. These
terminologies will be used in further modules, hence understanding each one of these is important.
Modules
Modules is the area where the code is written. This is a new Workbook, hence there aren't any
Modules.
To insert a Module, navigate to Insert → Module. Once a module is inserted 'module1' is created.
Within the modules, we can write VBA code and the code is written within a Procedure. A
Procedure/Sub Procedure is a series of VBA statements instructing what to do.
Procedure
Procedures are a group of statements executed as a whole, which instructs Excel how to perform a
specific task. The task performed can be a very simple or a very complicated task. However, it is a
good practice to break down complicated procedures into smaller ones.
The two main types of Procedures are Sub and Function.
Function
A function is a group of reusable code, which can be called anywhere in your program. This
eliminates the need of writing the same code over and over again. This helps the programmers to
divide a big program into a number of small and manageable functions.
Apart from inbuilt Functions, VBA allows to write user-defined functions as well and statements
are written between Function and End Function.
Sub-Procedures
Sub-procedures work similar to functions. While sub procedures DO NOT Return a value, functions
may or may not return a value. Sub procedures CAN be called without call keyword. Sub
procedures are always enclosed within Sub and End Sub statements.
It includes information such as developed by, modified by, and can also include incorporated logic.
Comments are ignored by the interpreter while execution.
• Any statement that starts with a Single Quote (') is treated as comment. Following is an
example.
• Any statement that starts with the keyword "REM". Following is an example.
REM This Script is written to Validate the Entered Input
REM Modified by : Tutorials point/user2
Syntax
MsgBox(prompt[,buttons][,title][,helpfile,context])
Parameter Description
• Prompt − A Required Parameter. A String that is displayed as a message in the dialog box.
The maximum length of prompt is approximately 1024 characters. If the message extends to
more than a line, then the lines can be separated using a carriage return character (Chr(13))
or a linefeed character (Chr(10)) between each line.
• Buttons − An Optional Parameter. A Numeric expression that specifies the type of buttons
to display, the icon style to use, the identity of the default button, and the modality of the
message box. If left blank, the default value for buttons is 0.
• Title − An Optional Parameter. A String expression displayed in the title bar of the dialog
box. If the title is left blank, the application name is placed in the title bar.
• Helpfile − An Optional Parameter. A String expression that identifies the Help file to use
for providing context-sensitive help for the dialog box.
• Context − An Optional Parameter. A Numeric expression that identifies the Help context
number assigned by the Help author to the appropriate Help topic. If context is provided,
helpfile must also be provided.
The above values are logically divided into four groups: The first group (0 to 5) indicates the
buttons to be displayed in the message box. The second group (16, 32, 48, 64) describes the style
of the icon to be displayed, the third group (0, 256, 512, 768) indicates which button must be the
default, and the fourth group (0, 4096) determines the modality of the message box.
Return Values
The MsgBox function can return one of the following values which can be used to identify the
button the user has clicked in the message box.
Example
Function MessageBox_Demo()
'Message Box with just prompt message
MsgBox("Welcome")
Step 1 − The above Function can be executed either by clicking the "Run" button on VBA Window
or by calling the function from Excel Worksheet as shown in the following screenshot.
Step 2 − A Simple Message box is displayed with a message "Welcome" and an "OK" Button
Step 3 − After Clicking OK, yet another dialog box is displayed with a message along with "yes,
no, and cancel" buttons.
Step 4 − After clicking the ‘No’ button, the value of that button (7) is stored as an integer and
displayed as a message box to the user as shown in the following screenshot. Using this value, it
can be understood which button the user has clicked.
VBA - InputBox
The InputBox function prompts the users to enter values. After entering the values, if the user
clicks the OK button or presses ENTER on the keyboard, the InputBox function will return the text
in the text box. If the user clicks the Cancel button, the function will return an empty string ("").
Syntax
InputBox(prompt[,title][,default][,xpos][,ypos][,helpfile,context])
Parameter Description
• Prompt − A required parameter. A String that is displayed as a message in the dialog box.
The maximum length of prompt is approximately 1024 characters. If the message extends to
more than a line, then the lines can be separated using a carriage return character (Chr(13))
or a linefeed character (Chr(10)) between each line.
• Title − An optional parameter. A String expression displayed in the title bar of the dialog
box. If the title is left blank, the application name is placed in the title bar.
• Default − An optional parameter. A default text in the text box that the user would like to be
displayed.
• XPos − An optional parameter. The position of X axis represents the prompt distance from
the left side of the screen horizontally. If left blank, the input box is horizontally centered.
• YPos − An optional parameter. The position of Y axis represents the prompt distance from
the left side of the screen vertically. If left blank, the input box is vertically centered.
• Helpfile − An optional parameter. A String expression that identifies the helpfile to be used
to provide context-sensitive Help for the dialog box.
• context − An optional parameter. A Numeric expression that identifies the Help context
number assigned by the Help author to the appropriate Help topic. If context is provided,
helpfile must also be provided.
Example
Let us calculate the area of a rectangle by getting values from the user at run time with the help of
two input boxes (one for length and one for width).
Function findArea()
Dim Length As Double
Dim Width As Double
Step 1 − To execute the same, call using the function name and press Enter as shown in the
following screenshot.
Step 2 − Upon execution, the First input box (length) is displayed. Enter a value into the input box.
Step 3 − After entering the first value, the second input box (width) is displayed.
Step 4 − Upon entering the second number, click the OK button. The area is displayed as shown in
the following screenshot.
VBA - Variables
Variable is a named memory location used to hold a value that can be changed during the script
execution. Following are the basic rules for naming a variable.
Syntax
There are many VBA data types, which can be divided into two main categories, namely numeric
and non-numeric data types.
Following table displays the numeric data types and the allowed range of values.
Byte 0 to 255
Following table displays the non-numeric data types and the allowed range of values.
Example
Let us create a button and name it as 'Variables_demo' to demonstrate the use of variables.
Private Sub say_helloworld_Click()
Dim password As String
password = "Admin#1"
MsgBox "Passowrd is " & password & Chr(10) & "Value of num is " &
num & Chr(10) & "Value of Birthday is " & BirthDay
End Sub
Output
Upon executing the script, the output will be as shown in the following screenshot.