VBA Interview Questions and Answers
Freshers / Beginner level questions & answers
Ques 1. What is VBA?
VBA stands for Visual Basic for Applications. It is a programming language developed by Microsoft for automating tasks in Microsoft Office applications.
Example:
Sub HelloWorld()
MsgBox "Hello, World!"
End Sub
Ques 2. How do you declare a variable in VBA?
You declare a variable using the 'Dim' keyword. For example, Dim myVar As Integer.
Example:
Dim myVar As String
myVar = "Hello"
Ques 3. What is the difference between 'ActiveWorkbook' and 'ThisWorkbook'?
'ActiveWorkbook' refers to the currently active workbook, while 'ThisWorkbook' refers to the workbook where the VBA code is written.
Example:
Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets(1)
Ques 4. How do you loop through a range of cells in VBA?
You can use a 'For Each' loop to iterate through each cell in a range.
Example:
Dim cell As Range
For Each cell In Range("A1:A10")
Debug.Print cell.Value
Next cell
Ques 5. What is the purpose of the 'Option Explicit' statement?
'Option Explicit' forces explicit declaration of all variables and helps catch undeclared variables at compile-time.
Example:
'Option Explicit
Sub Example()
Dim x As Integer
y = 10 ' This will cause an error without 'Option Explicit'
End Sub
Ques 6. How do you exit a Sub in VBA?
You can use the 'Exit Sub' statement to prematurely exit a Sub procedure.
Example:
Sub Example()
If condition Then
Exit Sub
End If
' Rest of the code
End Sub
Ques 7. How do you create a new worksheet in VBA?
You can use the 'Worksheets.Add' method to create a new worksheet.
Example:
Sheets.Add After:=Sheets(Sheets.Count)
Ques 8. How do you use conditional statements (If-Then-Else) in VBA?
You can use the 'If', 'Then', 'ElseIf', and 'End If' statements for conditional execution of code.
Example:
If x > 10 Then
Debug.Print "x is greater than 10"
ElseIf x < 10 Then
Debug.Print "x is less than 10"
Else
Debug.Print "x is equal to 10"
End If
Ques 9. Explain the purpose of the 'Do While' loop in VBA.
The 'Do While' loop is used to repeatedly execute a block of code as long as a specified condition is true.
Example:
Do While i < 10
Debug.Print i
i = i + 1
Loop
Ques 10. How do you declare a constant in VBA?
You can declare a constant using the 'Const' keyword.
Example:
Const PI As Double = 3.14159
Ques 11. What is the purpose of the 'On Error Resume Next' statement?
'On Error Resume Next' instructs VBA to continue with the next line of code even if an error occurs, effectively ignoring the error.
Example:
On Error Resume Next
' code that may cause an error
On Error GoTo 0
Ques 12. How do you use the 'For' loop in VBA?
The 'For' loop is used to repeat a block of code a specified number of times.
Example:
For i = 1 To 10
Debug.Print i
Next i
Ques 13. How do you create a message box in VBA?
You can use the 'MsgBox' function to display a message box with specified text and buttons.
Example:
MsgBox "Hello, World!", vbInformation + vbOKOnly, "Greeting"
Ques 14. Explain the purpose of the 'Call' keyword in VBA.
The 'Call' keyword is optional and is used to indicate that a procedure is being called.
Example:
Call MyProcedure()
Ques 15. How do you declare and use an array in VBA?
You declare an array using the 'Dim' statement, and you can access its elements using index numbers.
Example:
Dim myArray(1 To 3) As Integer
myArray(1) = 10
myArray(2) = 20
myArray(3) = 30
Ques 16. How do you use the 'InputBox' function in VBA?
The 'InputBox' function prompts the user to enter data and returns the entered value as a string.
Example:
Dim userInput As String
userInput = InputBox("Enter your name:", "User Input")
Ques 17. How do you prevent screen flickering during VBA code execution?
You can set 'Application.ScreenUpdating' to 'False' to prevent the screen from updating, which can reduce flickering during code execution.
Example:
Application.ScreenUpdating = False
' Your code here
Application.ScreenUpdating = True
Intermediate / 1 to 5 years experienced level questions & answers
Ques 18. Explain the difference between 'ByVal' and 'ByRef' in VBA.
'ByVal' passes the value of the variable to the function, while 'ByRef' passes a reference to the variable, allowing the function to modify its value.
Example:
Sub ModifyValue(ByRef x As Integer)
x = x + 1
End Sub
Ques 19. How do you handle errors in VBA?
You can use 'On Error' statements to handle errors. For example, 'On Error Resume Next' to ignore errors, or 'On Error Goto' to jump to a specified label.
Example:
On Error Resume Next
' code that may cause an error
On Error GoTo 0
Ques 20. Explain the purpose of the 'With' statement in VBA.
The 'With' statement allows you to perform a series of actions on a specified object without repeating the object reference. It enhances code readability and can improve performance.
Example:
With Range("A1")
.Value = 42
.Font.Bold = True
End With
Ques 21. Explain the difference between 'ActiveCell' and 'Selection' in VBA.
'ActiveCell' refers to the currently selected cell, while 'Selection' refers to the currently selected range of cells.
Example:
ActiveCell.Value = "Hello"
Selection.Font.Bold = True
Ques 22. How do you create a UserForm in VBA?
You can create a UserForm by right-clicking on the VBA project, selecting 'Insert' -> 'UserForm', and then design the form using the toolbox.
Example:
Sub ShowUserForm()
UserForm1.Show
End Sub
Ques 23. Explain the purpose of the 'Application' object in VBA.
The 'Application' object represents the entire Excel application and allows you to access and manipulate various application-level properties and methods.
Example:
Application.ScreenUpdating = False
Ques 24. What is the purpose of the 'ByVal Target As Range' parameter in a Worksheet_Change event?
The 'ByVal Target As Range' parameter represents the range of cells that triggered the change event. It allows you to perform actions based on the changed cells.
Example:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1:A10")) Is Nothing Then
' Code to execute when cells in A1:A10 are changed
End If
End Sub
Ques 25. Explain the difference between 'Worksheet' and 'Workbook' in VBA.
'Worksheet' refers to a single sheet within a workbook, while 'Workbook' represents the entire Excel file.
Example:
Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets("Sheet1")
Ques 26. What is the purpose of the 'Select Case' statement in VBA?
The 'Select Case' statement is used for multiple conditional tests, providing a cleaner alternative to nested 'If' statements.
Example:
Select Case x
Case 1
Debug.Print "Value is 1"
Case 2
Debug.Print "Value is 2"
Case Else
Debug.Print "Value is neither 1 nor 2"
End Select
Ques 27. What is the purpose of the 'Offset' property in VBA?
The 'Offset' property is used to refer to a cell or range of cells that is a specific number of rows and columns away from a given cell or range.
Example:
ActiveCell.Offset(1, 2).Value = "Data"
Ques 28. Explain the purpose of the 'Unload' statement in VBA.
The 'Unload' statement is used to remove a UserForm from memory.
Example:
Unload UserForm1
Ques 29. What is the purpose of the 'LBound' and 'UBound' functions in VBA?
'LBound' returns the lower bound of an array, and 'UBound' returns the upper bound of an array.
Example:
Dim myArray(1 To 10) As Integer
Debug.Print LBound(myArray) ' Outputs 1
Debug.Print UBound(myArray) ' Outputs 10
Ques 30. Explain the difference between 'Function' and 'Sub' in VBA.
'Function' is used to define a procedure that returns a value, while 'Sub' is used for procedures that do not return a value.
Example:
Function AddNumbers(x As Integer, y As Integer) As Integer
AddNumbers = x + y
End Function
Most helpful rated by users:
Related interview subjects
COBOL interview questions and answers - Total 50 questions |
R Language interview questions and answers - Total 30 questions |
Python Coding interview questions and answers - Total 20 questions |
Scala interview questions and answers - Total 48 questions |
Swift interview questions and answers - Total 49 questions |
Golang interview questions and answers - Total 30 questions |
Embedded C interview questions and answers - Total 30 questions |
C++ interview questions and answers - Total 142 questions |
VBA interview questions and answers - Total 30 questions |