Note: Answers are marked in Bold...

1. Which is a valid definition of a user-defined data type?


Type CBC
    Name as String
    Next as String
End Type

Type CBC
    Name As String
    _Next As String
End Type

Type CBC
   Name As String
   @Option As String
End Type

Type CBC
   Name As String
   %for As String
End Type


2. What is one way to duplicate a user form one project into a different project?

1. Save and close the project with the existing user form.
2. click Insert > File.
3. Browse to the location of the existing project.
4. Right-click it and select the user form you want to duplicate.

1. Open the existing user form in Design Mode.
2. Right-click the form and select Copy.
3. Switch to the other project.
4. Right-click Module and select Paste.

1. In the Project Explorer, right-click the user form and select Copy.
2. Switch to the new project.
3. Right-click UserForms and select Paste.

1. Open the existing user form in Design Mode.
2. Click File > Export File.
3. Switch to the other project.
4. Click File > Import File. 


3. IF VBA code declares FileCount as a constant rather than as a variable, the code trends to run faster. Why is this?

  • The scope of constants is limited to the procedure that declares them.
  • Constants are declared at compile time, but variables are declared at run time.
  • Once declared in a project the value of a constant cannot be changed. There is no need to look up the current value of FileCount when it is a constant.
  • The Const declaration specifies the most effieient type given the constant value. 

4. Which keyboard shortcut causes VBA to locate the declaration of a procedure?

  • Shift+F3
  • Alt+F (Windows) or Option + F (Mac)
  • Shift+F2  
  • Ctrl+F (windows) or Command + F (Mac)

5. Which action will cause your project to reset its variables?

  • Edit the list of arguments of the current routine while in debug mode.
  • Click End in a run-bme error dialog. 
  • Add an ActiveX control to a worksheet.
  • all of these answers


6. To use VBA code to maintain a different VBA project, you can make use of VBA's estensibility. What is needed to enable extensibility?

Set Macro Security to Trust Access to the VBA Project Object Model.
The project's workbook should be protected in the Ribbon's Review tab.
Include a reference to Microsoft VBA Extensibility 5.3. 
Include a reference to Microsoft VBA Extensibility 5.3. and set Macro security to Trust Access to the VBA Project Object Model.

7. Which variable name is valid in VBA?

My-Var
_MyVar



  • iMyVar
  • My_Var 

8. How do you add a user form to a VBA project?

1. Select the project in the project window of the Visual Basic Editor.
2. Click the Design Mode button and select Insert Module.

1. Select the project in the Project window of the Visual Basic Editor.
2. Click the Toolbox button and select UserForm.

1. Select the project in the Project window of the Visual Basic Editor.
2. Right-click the Run menu and select Customize.

1. Select the project in the Project window of the Visual Basic Editor.
2. Click Insert > UserForm.  

9. Explicit variable declaration is required. MyVar is declared at both the module and the procedure level. What is the value of MyVar after first AAA() and then BBB() are run?

Dim MyVar As String
Sub AAA()
Dim MyVar As String
MyVar = "Procedure AAA Scope"
End Sub
Sub BBB()
MyVar =  "Procedure BBB Scope"
End Sub

  • MyVar equals "Procedure AAA Scope".
  • ISNULL(MyVar) is True.
  • MyVar equals "Procedure BBB Scope". 
  • MyVar is Null.

10. Which statement should precede a subroutine's error handler?

  • End
  • Return
  • Exit Sub 
  • Stop
LinkedIn VBA Assessment Answers 2021

11. A Declaration has scope, which has three levels. What are they?

  • Module Project, and Automation
  • Procedure, Private Module, and Public Module 
  • Subroutine, Module, and Project
  • Procedure, Project, and Global

12. There are two references that must be selected in the Visual Basic Editor in order for any Visual Basic code to run in Excel. What are these two references?

  • MS Excel Object library and MS Office object library
  • VBA and MS Office object library
  • VBA and Excel object library
  • MS Excel object library and OLE automation


13. The VBA code block shown in the following four options runs when UserForm's CommandButton1 button is clicked. Which block of code leaves UserForm1 loaded but not visible until the FoundErrors function has checked it, and then enebles processing to continue if no errors are found?

Private Sub CommandButton1_Click()
If Not FoundErrors(UserForm1) Then _
Unload UserForm1
End Sub

Private Sub CommandButton1_Click()
Me.Hide
Do While FoundErrors(Me)
Me.Show
Loop
End Sub

Private Sub CommandButton1_Click()
If FoundErrors(Me) Then _ 
Me.Show
End Sub

Private Sub CommandButton1_Click()
Do While FoundErrors (UserForm1)
Loop
End Sub 

14. The recording of a macro in Word is likely to be an incomplete record of the user's actions. Why?

  • Word's Macro Recorder does not record actions initiated by keyboard shorcuts. 
  • Word's Macro Recorder does not record actions initiated by clicking a button on the Ribbon's Developer tab.
  • Word's Macro Recorder does not support Find & Replace edits.
  • Word's Macro Recorder does not record actions that involve selection of text by pointing with the mouse pointer.

15. Which statement is true?

  • Set establishes a value in a class; Let returns a value from a class.
  • Let establishes a value in a class; Set returns a value from a class.
  • Let establishes a value in a class; Get returns a value from a class. - Correct Answer
  • Get establishes a value in a class; Set returns a value from a class.

16. How many values can MyArray hold?

option Base 0
Sub BuildArray()
Dim MyArray(5) As Integer

  • 0
  • 32,769
  • 5

17. Which code block from class modules returns a compile error?

Public Property Get HDL() As Double
HDL = pHDL
End Property
Public Property Let HDL(Value As Double)
pHDL = Value
End Property

Property Get HDL () As Double
HDL = Value
End Property
Property Let HDL (Value As Double)
pHDL = Value
End Property

Public Property Get HDL() As Double
HDL = Value
End Property
Public Property Let HDL(Value As Double)
pHDL = Value
End Property

Public Property Get HDL() As Single
HDL = pHDL
End Property
Public Property Let HDL(Value As Double)
End Property 

18. Which cell is selected if you run this code?

Range("E3:312").Range("B3").Select

  •  F5
  •  F3 
  •  B3
  •  E3

19. What value does the MsgBox statement display?

Sub MySub(VarA As Long, ParamArray VarB() As Variant)
MsgBox VarB(0)
End Sub
Sub ShowValue()
Call MySub(10, "First arg", 2, 3.1416)
End Sub

  •  2
  •  10
  •  First arg 
  •  3.1416

20. What is the principal difference between a class and an object?

  •  There is no meaningful difference. The terms are used interchangeably.
  •  A class declares an object's properties. An object completes the declaration by defining events and methods.
  •  An object is a template for a class.
  •  A class describes the design of an object. An object is an instance of that design. 

Post a Comment

Previous Post Next Post