Sie sind auf Seite 1von 15

Create an Excel UserForm

Contextures Tips Files Products Newsletter Blog

search

search engine by freefind

Create an Excel UserForm


To make it easier for users to enter data in a workbook, you can create an Excel UserForm. Written
instructions and videos in this tutorial show you the steps.

See also Excel UserForm with Combo Boxes.

Introduction to UserForms

Video: Create an Excel UserForm

Set up the the worksheet

Create an Excel UserForm

Name the UserForm

Add a Textbox to the UserForm

Add a Label to the UserForm

Add remaining textboxes and labels

Add buttons to the UserForm

Add code to the buttons

Test the UserForm

Create a button to open the UserForm

Finish the workbook

Download the Sample File

Introduction to UserForms
To create a UserForm requires some programming, and you can see the steps in the videos shown
below. For the written instructions, look below the videos.

In this example, inventory data is stored on a hidden worksheet, where it is protected from accidental
damage or deletion. Users enter inventory data by opening the UserForm, filling in the boxes, and
clicking a button.

http://www.contextures.com/xlUserForm01.html[21-Mar-18 11:03:07]
Create an Excel UserForm

Video: Create an Excel User Form


To see the steps for creating a UserForm, please watch these 3 short video tutorials. The written
instructions are below the video.

In the videos, Excel 2003 is used, and the same steps can be followed in later versions. When saving
the file in Excel 2007 or later, save as a macro-enable file type.

The Completed UserForm -- How It Works


Before building the UserForm, you can watch this short video that shows the completed form, and
how it works.

Creating a UserForm - Part 1


In part 1 of 3, you'll see how to create a blank Userform. Then you'll name the UserForm, and next
you'll add text boxes and labels.

Users will be able to type data into the text boxes. Labels are added beside the text boxes, to describe
what users should enter into the text box

http://www.contextures.com/xlUserForm01.html[21-Mar-18 11:03:07]
Create an Excel UserForm

Creating a UserForm - Part 2


In Part 2 of 3, you'll learn how to add buttons and a title on the UserForm.

With buttons on the UserForm, a user can click to make something happen. For example, click a
button after entering data in the text boxes, when you're ready to move the data to the worksheet
storage area.

Creating a UserForm - Part 3


In Part 3 of 3, you'll learn how to add VBA code to the controls, and you'll see how to test the
UserForm.

The VBA code runs when a specific event occurs, such as clicking a button, or entering a combo box.
In this example, the user will click a button, and the VBA code will move the data to the worksheet
storage area.

http://www.contextures.com/xlUserForm01.html[21-Mar-18 11:03:07]
Create an Excel UserForm

Set up the worksheet


In this example, a parts inventory is stored on a hidden worksheet.

1. Open a new workbook


2. Double-click on the sheet tab for Sheet1
3. Type: PartsData
4. Press the Enter key
5. In cells A1:D1, enter the headings for the parts inventory database, as shown at right.
6. Choose File | Save, and save the workbook. In this example, the file has been named
PartsLocDB.xls.
NOTE: In Excel 2007 and later versions, save the file as a macro-enabled file type.

Create a UserForm
UserForms are created in the Visual Basic Editor.

1. To open the Visual Basic Editor, hold the Alt key, and press the F11 key
2. Choose View | Project Explorer, to see a list of projects. (Usually, this is displayed at the left side
of the VBE window.)
3. In the Project Explorer, select the PartLocDB project.
4. From the menu bar, choose Insert | UserForm

5. A blank UserForm appears, and the ToolBox should open. (If the ToolBox doesn't appear,
choose View | Toolbox)  

Name the UserForm


1. To open the Properties window, press the F4 key
2. In the Properties window, double-click on the Name -- UserForm1, at the top right of the
window.
3. Type:  frmPartLoc
and press the Enter key

http://www.contextures.com/xlUserForm01.html[21-Mar-18 11:03:07]
Create an Excel UserForm

4. The form name will change in the Project Explorer, but the form still shows UserForm1 in its
title bar.
5. In the Properties window, double-click on the Caption property-- UserForm1.
6. Type:  Parts Inventory
and press the Enter key
7. The title bar will display the new caption. 

Add a Textbox to the UserForm


The objects on a UserForm, such as buttons, and textboxes, are called controls. To allow users to
enter data, you can add textbox controls to the form, with label controls to describe them.

1. In the Toolbox, click on the TextBox button.

2. On the UserForm, click near the top centre, to add a standard sized textbox.

3. With the new textbox selected, double-click on the Name property in the Properties window.
4. Type:  txtPart
and press the Enter key
5. Click on an empty part of the UserForm, to select the UserForm and to display the Toolbox. 

http://www.contextures.com/xlUserForm01.html[21-Mar-18 11:03:07]
Create an Excel UserForm

Add a Label to the UserForm


To help users enter data, you can add label controls to describe the textboxes, or to display
instructions.

1. In the Toolbox, click on the Label button.

2. On the UserForm, click to the left of the textbox, to add a standard sized label.

3. With the new label selected, double-click on the Caption property in the Properties window.
4. Type:  Part
and press the Enter key
5. If necessary, you can resize the label, so it doesn't cover the textbox -- point to the handle on its
right border, and drag to the left.
6. Click on an empty part of the UserForm, to select the UserForm and to display the Toolbox. 

Add remaining textboxes and labels


Repeat the above steps to add:

a textbox named txtLoc, with a label Location


a textbox named txtDate, with a label Date
a textbox named txtQty, with a label Quantity 

http://www.contextures.com/xlUserForm01.html[21-Mar-18 11:03:07]
Create an Excel UserForm

If the textboxes are not aligned, you can align them:

1. Click on the first textbox


2. Hold the Ctrl key, and click on the remaining textboxes
3. Choose Format | Align | Lefts
4. Click on an empty part of the UserForm, to select the UserForm and to display the Toolbox.   

Add Buttons to the UserForm


To allow users to perform an action, you can add command buttons to the user form. This form has a
button to add data to the database, and a button to close the form.

1. In the Toolbox, click on the CommandButton button.

2. On the UserForm, click at the bottom left, to add a standard sized CommandButton.
3. With the new CommandButton selected, double-click on the Name property in the Properties
window.
4. Type:  cmdAdd
and press the Enter key
5. With the new CommandButton selected, double-click on the Caption property in the Properties
window.
6. Type:  Add this part
and press the Enter key
7. Click on an empty part of the UserForm, to select the UserForm and to display the Toolbox.
8. Repeat the above steps to add a CommandButton named cmdClose, with a label Close

9. If required, you can reposition the buttons by dragging them to a new location on the
UserForm. 

Add code to the buttons


To make the buttons perform an action, you create code that runs when the button is clicked.

Add code to the cmdAdd button

1. Select the cmdAdd button


2. On the Menu bar, choose View | Code. 
3. This creates a procedure, where you can add your code.

http://www.contextures.com/xlUserForm01.html[21-Mar-18 11:03:07]
Create an Excel UserForm

4. Where the cursor is flashing, enter the following code:

Private Sub cmdAdd_Click()


Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("PartsData")

'find first empty row in database


iRow = ws.Cells.Find(What:="*", SearchOrder:=xlRows, _
SearchDirection:=xlPrevious, LookIn:=xlValues).Row + 1

'check for a part number


If Trim(Me.txtPart.Value) = "" Then
Me.txtPart.SetFocus
MsgBox "Please enter a part number"
Exit Sub
End If

'copy the data to the database


'use protect and unprotect lines,
' with your password
' if worksheet is protected
With ws
' .Unprotect Password:="password"
.Cells(iRow, 1).Value = Me.txtPart.Value
.Cells(iRow, 2).Value = Me.txtLoc.Value
.Cells(iRow, 3).Value = Me.txtDate.Value
.Cells(iRow, 4).Value = Me.txtQty.Value
' .Protect Password:="password"
End With

'clear the data


Me.txtPart.Value = ""
Me.txtLoc.Value = ""
Me.txtDate.Value = ""
Me.txtQty.Value = ""
Me.txtPart.SetFocus

End Sub

5. On the Menu bar, choose View | Object, to return to the UserForm.

Add code to the cmdClose button


1. Select the cmdClose button

http://www.contextures.com/xlUserForm01.html[21-Mar-18 11:03:07]
Create an Excel UserForm

2. On the Menu bar, choose View | Code. 


3. Where the cursor is flashing, enter the following code:

Private Sub cmdClose_Click()


Unload Me
End Sub

4. On the Menu bar, choose View | Object, to return to the UserForm.

To allow users to close the form by pressing the Esc key:

1. Select the cmdClose button


2. In the Properties window, change the Cancel property to True  

To prevent users from closing the form by clicking the X button


When the UserForm is opened, there is an X at the top right. In addition to using the Close Form
button, people will be able to close the form by using the X. If you want to prevent that, follow these
steps.

1. Right-click on an empty part of the UserForm


2. Choose View | Code
3. From the Procedure dropdown, at the top right, choose QueryClose

4. Where the cursor is flashing, paste the highlighted code from the following sample

Private Sub UserForm_QueryClose(Cancel As Integer, _


CloseMode As Integer)
If CloseMode = vbFormControlMenu Then
Cancel = True
MsgBox "Please use the Close Form button!"
End If
End Sub

4. On the Menu bar, choose View | Object, to return to the UserForm.

Now, if someone clicks the X in the UserForm, they'll see your message.

http://www.contextures.com/xlUserForm01.html[21-Mar-18 11:03:07]
Create an Excel UserForm

Test the UserForm


To test the form, you can run it from the VBE.

1. Click on an empty part of the UserForm, to select the UserForm and to display the Toolbox.
2. On the Menu bar, choose Run | Run Sub/UserForm.

3. In the Part textbox, type: 12345


4. Press the tab key to move to the next textbox.
5. When the textboxes have been filled in, click the 'Add this part' button.
6. Click the 'Close form' button, to return to the VBE.

If the tab order was incorrect (e.g. when you pressed the tab key you moved to the wrong textbox or
button), you can change it

1. Right-click on an empty part of the UserForm


2. Choose Tab Order
3. Select a control in the list, and click the Move Up or Move Down button
4. Click OK 

Create a Button to open the UserForm


To make it easy for users to open the UserForm, you can add a button to a worksheet.

http://www.contextures.com/xlUserForm01.html[21-Mar-18 11:03:07]
Create an Excel UserForm

1. Switch to Excel, and activate the PartLocDB.xls workbook


2. Double-click on the sheet tab for Sheet2
3. Type: Parts Data Entry
4. Press the Enter key
5. On the Drawing toolbar, click on the Rectangle tool (In Excel 2007 / 2010, use a shape from the
Insert tab)
6. In the centre of the worksheet, draw a rectangle, and format as desired.
7. With the rectangle selected, type:
Click here to add Part Information

8. Right-click on the rectangle border, and choose 'Assign Macro'


9. Click the New button
10. Where the cursor is flashing, type: frmPartLoc.Show
11. Go to the Excel window, and click the button, to open the UserForm.
NOTE: While the UserForm is open, you won't be able to perform any other actions in
Excel, such as entering data on the worksheet. You'll have to close the form first.
If you want users to be able to perform other actions in Excel while the form is open,
change the above line to: frmPartLoc.Show False to turn off the Modal setting 

Finish the Workbook


To finish the workbook, you can hide the sheet that contains the database.

1. Switch to Excel, and activate the PartLocDB.xls workbook


2. Select the PartsData sheet.
3. From the menu bar, choose Format | Sheet | Hide ( In Excel 2007 / 2010, use the Format
commands on the Home tab)
4. Delete all other sheets, except Parts Data Entry
5. Click the Click here to add Part Information button, and enter your data into the database. 
6. Close and save the workbook

Download the Sample File


Download the sample Excel UserForm file
Download the sample file with an enhanced Excel UserForm, with comboboxes

An Excel UserForm course is also available -- Learn Excel UserForms for Data Entry

http://www.contextures.com/xlUserForm01.html[21-Mar-18 11:03:07]
Create an Excel UserForm

Don't Miss Our Excel Tips


Don't miss my latest Excel tips and videos! Click OK, to get my weekly newsletter with Excel tips, and
links to other Excel news and resources.


Search

Custom Search

Related Tutorials
UserForm with ComboBoxes

UserForm Dependent ComboBoxes

UserForm ComboBox VBA

UserForm TextBox Validation Code

http://www.contextures.com/xlUserForm01.html[21-Mar-18 11:03:07]
Create an Excel UserForm

http://www.contextures.com/xlUserForm01.html[21-Mar-18 11:03:07]
Create an Excel UserForm

http://www.contextures.com/xlUserForm01.html[21-Mar-18 11:03:07]
Create an Excel UserForm

Copyright © Contextures Inc. 2018

Privacy Policy

Debra Dalgleish

Last updated: September 19, 2017 4:07 PM

http://www.contextures.com/xlUserForm01.html[21-Mar-18 11:03:07]

Das könnte Ihnen auch gefallen