A UserForm is a custom dialog box that you create in Excel VBA to collect user input or display information in a friendly way.
Click to reveal answer
beginner
How do you add a UserForm in Excel VBA?
In the VBA editor, right-click on any item in the Project Explorer, choose Insert, then select UserForm.
Click to reveal answer
beginner
Name two common controls you can add to a UserForm.
You can add controls like TextBox (for typing input) and CommandButton (for clicking actions).
Click to reveal answer
beginner
How do you show a UserForm to the user?
Use the VBA code line UserFormName.Show to display the UserForm on the screen.
Click to reveal answer
beginner
What happens when you click a CommandButton on a UserForm?
Clicking a CommandButton runs the VBA code written in its Click event, allowing you to respond to user actions.
Click to reveal answer
How do you open the VBA editor in Excel?
APress F1
BPress Ctrl + C
CClick File > Save
DPress Alt + F11
✗ Incorrect
Pressing Alt + F11 opens the VBA editor where you can create UserForms.
Which control lets users type text in a UserForm?
ALabel
BCheckBox
CTextBox
DCommandButton
✗ Incorrect
TextBox is used to get text input from users.
What VBA code shows a UserForm named 'MyForm'?
AMyForm.Show
BShow.MyForm
CDisplay UserForm
DOpenForm(MyForm)
✗ Incorrect
The correct syntax to show a UserForm is 'UserFormName.Show'.
Where do you write code for a UserForm's button click?
AIn the button's Click event procedure
BIn the Excel worksheet
CIn the File menu
DIn the UserForm's properties window
✗ Incorrect
You write code inside the button's Click event to respond to clicks.
Which of these is NOT a UserForm control?
AComboBox
BPivotTable
CTextBox
DLabel
✗ Incorrect
PivotTable is an Excel feature, not a UserForm control.
Explain how to create and show a simple UserForm with a button in Excel VBA.
Think about the steps from opening VBA to showing the form.
You got /5 concepts.
Describe the purpose of UserForms and how they improve user interaction in Excel.
Consider why you would use a UserForm instead of just cells.
You got /5 concepts.
Practice
(1/5)
1. What is the main purpose of a UserForm in Excel VBA?
easy
A. To format cells automatically
B. To write complex formulas in cells
C. To protect worksheets from editing
D. To create a custom dialog box for easier data entry
Solution
Step 1: Understand what UserForms do
UserForms are designed to create custom dialog boxes that help users enter data easily.
Step 2: Compare with other Excel features
Writing formulas, formatting cells, and protecting sheets are not the main functions of UserForms.
Final Answer:
To create a custom dialog box for easier data entry -> Option D
Quick Check:
UserForms = Custom dialog boxes [OK]
Hint: UserForms = custom windows for data input [OK]
Common Mistakes:
Confusing UserForms with worksheet protection
Thinking UserForms write formulas
Assuming UserForms format cells automatically
2. Which VBA code correctly shows a UserForm named MyForm?
easy
A. Show MyForm()
B. MyForm.Show
C. UserForm.Show(MyForm)
D. DisplayForm MyForm
Solution
Step 1: Recall the syntax to show a UserForm
The correct VBA syntax to display a UserForm is UserFormName.Show.
Step 2: Check each option
Only MyForm.Show matches the correct syntax. Others are invalid VBA commands.
Final Answer:
MyForm.Show -> Option B
Quick Check:
Show UserForm = UserFormName.Show [OK]
Hint: Use .Show after the form name to display it [OK]
Common Mistakes:
Using incorrect keywords like Show or DisplayForm
Adding parentheses incorrectly
Passing the form as a parameter
3. Given this VBA code inside a UserForm button click:
Private Sub CommandButton1_Click()
TextBox1.Text = "Hello"
Label1.Caption = TextBox1.Text
End Sub
What will Label1 show after clicking the button?
medium
A. TextBox1.Text
B. CommandButton1_Click
C. Hello
D. Empty
Solution
Step 1: Understand the code actions
The code sets TextBox1.Text to "Hello" and then sets Label1.Caption to the same text.
Step 2: Determine Label1's displayed text
Since Label1.Caption is assigned the value of TextBox1.Text, it will show "Hello".
Final Answer:
Hello -> Option C
Quick Check:
Label1.Caption = TextBox1.Text = "Hello" [OK]
Hint: Label shows TextBox text after assignment [OK]
Common Mistakes:
Thinking Label1 shows the variable name
Confusing Caption with Text property
Assuming Label1 stays empty
4. This VBA code is meant to clear a TextBox named InputBox1 when a button is clicked:
Private Sub ClearButton_Click()
InputBox1.Text = Null
End Sub
Why might this code cause an error?
medium
A. Because Null is not valid for Text property
B. Because the button name is incorrect
C. Because TextBoxes cannot be cleared
D. Because the event name is wrong
Solution
Step 1: Understand the Text property type
The Text property expects a string, but Null is a special VBA value not valid here.
Step 2: Identify correct way to clear TextBox
To clear, assign an empty string "" instead of Null.
Final Answer:
Because Null is not valid for Text property -> Option A
Quick Check:
Clear TextBox = assign "" not Null [OK]
Hint: Clear TextBox with "", not Null [OK]
Common Mistakes:
Using Null instead of "" to clear text
Assuming TextBoxes cannot be cleared
Confusing event or control names
5. You want a UserForm to add numbers entered in two TextBoxes (TextBox1 and TextBox2) and show the result in a Label (LabelResult) when a button is clicked. Which VBA code correctly does this?
hard
A. LabelResult.Caption = CInt(TextBox1.Text) + CInt(TextBox2.Text)
B. LabelResult.Caption = Val(TextBox1) + TextBox2.Text
C. LabelResult.Caption = TextBox1.Text & TextBox2.Text
D. LabelResult.Caption = TextBox1.Text + TextBox2.Text
Solution
Step 1: Understand data types in TextBoxes
TextBoxes store text, so adding directly concatenates strings instead of numbers.
Step 2: Convert text to numbers before adding
Using CInt() converts text to integers, allowing numeric addition.
Step 3: Check each option
LabelResult.Caption = TextBox1.Text + TextBox2.Text concatenates text; LabelResult.Caption = TextBox1.Text & TextBox2.Text concatenates text with &; LabelResult.Caption = Val(TextBox1) + TextBox2.Text mixes a converted number with raw text, causing a type mismatch error.
Final Answer:
LabelResult.Caption = CInt(TextBox1.Text) + CInt(TextBox2.Text) -> Option A
Quick Check:
Convert text to numbers before adding [OK]
Hint: Convert TextBox text to numbers before adding [OK]
Common Mistakes:
Adding text directly causing string concatenation
Incomplete conversion of TextBox values to numbers
Using & operator which concatenates strings
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.