Sunteți pe pagina 1din 8

Excel > Forms

Overview of forms, Form controls, and ActiveX controls on a


worksheet

Hide All

Yes, it is true. You can create great forms with little or no need for Microsoft Visual Basic for Applications
(VBA) code in Microsoft Office Excel. By using forms and the many controls and objects that you can
add to them, you can significantly enhance data entry on your worksheets and improve the way your
worksheets are displayed.

In this article

What is a form?

Types of Excel forms

Data form

Worksheet with form and ActiveX controls

Form controls

ActiveX controls

Drawing tools objects

Working with controls and objects on a worksheet

Determining the type of control on a worksheet

VBA UserForms

What is a form?
A form, whether printed or online, is a document designed with a standard structure and format that makes it easier to capture, organize,
and edit information.

Printed forms contain instructions, formatting, labels, and blank spaces for writing or typing data. You can use Excel and Excel
templates to create printed forms.

For more information about Excel templates, see the See Also section.

Online forms contain the same features as printed forms. In addition, online forms contain controls. Controls are objects that
display data or make it easier for users to enter or edit data, perform an action, or make a selection. In general, controls make the
form easier to use. Examples of common controls include list boxes, option buttons, and command buttons. Controls can also run
assigned macros (macro: An action or a set of actions that you can use to automate tasks. Macros are recorded in the Visual
Basic for Applications programming language.) and respond to events, such as mouse clicks, by running Visual Basic for
Applications (VBA) (Visual Basic for Applications (VBA): A macro-language version of Microsoft Visual Basic that is used to
program Microsoft Windows-based applications and is included with several Microsoft programs.) code.

You can use Excel in several ways to create printed and online forms.

Top of Page

Types of Excel forms


There are several types of forms that you can create in Excel: data forms, worksheets that contain Form and ActiveX controls, and VBA
UserForms. You can use each type of form by itself, or you can combine them in different ways to create a solution that's right for you.

Data form
A data form (data form: A dialog box that displays one complete record at a time. You can use data forms to add, change, locate, and
delete records.) provides a convenient way to enter or display one complete row of information in a range or table without scrolling
horizontally. You may find that using a data form can make data entry easier than moving from column to column when you have more
columns of data than can be viewed on the screen. Use a data form when a simple form of text boxes that list the column headings as
labels is sufficient and you don't need sophisticated or custom form features, such as a list box or spin button.

Excel can automatically generate a built-in data form for your


range (range: Two or more cells on a sheet. The cells in a range can
be adjacent or nonadjacent.) or table (table: A collection of data about
a particular subject that is stored in records (rows) and fields
(columns).). The data form displays all column headers as labels in a
single dialog box. Each label has an adjacent blank text box in which
you can enter data for each column, up to a maximum of 32 columns.
In a data form, you can enter new rows, find rows by navigating, or
(based on cell contents) update rows and delete rows . If a cell
contains a formula (formula: A sequence of values, cell references,
names, functions, or operators in a cell that together produce a new
value. A formula always begins with an equal sign (=).), the formula
result is displayed in the data form, but you cannot change the formula
by using the data form.

Top of Page

Worksheet with Form and ActiveX controls


A worksheet is a type of form that enables you to enter and view data on the grid, and there are several control-like features already built-
in to Excel worksheets, such as comments and data validation. Cells resemble text boxes in that you can enter and format them in a
variety of ways. Cells are often used as labels, and by adjusting cell height and width and merging cells, you can make a worksheet
behave like a simple data entry form. Other control-like features, such as cell comments, hyperlinks, background images, data validation,
conditional formatting, embedded charts, and AutoFilter can make a worksheet behave like an advanced form.

For added flexibility, you can add controls and other drawing objects to the drawing canvas (drawing canvas: An area on which you can
draw multiple shapes. Because the shapes are contained within the drawing canvas, they can be moved and resized as a unit.) of a
worksheet, and combine and coordinate them with worksheet cells. For example, you can use a list box control to make it easier for a
user to select from a list of items. Or, you can use a spin button control to make it easier for a user to enter a number.

Because controls and objects are stored on the drawing canvas, you can display or view controls and objects alongside associated text
that is independent of row and column boundaries without changing the layout of a grid or table of data on your worksheet. Most of the
time, many of these controls can also be linked to cells on the worksheet and do not require VBA code to make them work. You can set
properties that determine whether a control floats freely or moves and resizes together with a cell. For example, you might have a check
box that you want to move together with its underlying cell when the range is sorted. However, if you have a list box that you want to
keep in a specific location at all times, you probably do not want it to move together with its underlying cell.

Excel has two types of controls: Form controls and ActiveX Controls. In addition to these sets of controls, you can also add objects from
the Drawing tools, such as a AutoShapes (AutoShapes: A group of ready-made shapes that includes basic shapes, such as rectangles
and circles, plus a variety of lines and connectors, block arrows, flowchart symbols, stars and banners, and callouts.), WordArt (WordArt:
Text objects you create with ready-made effects to which you can apply additional formatting options.), SmartArt graphic, or text boxes.

The following sections describe these controls and drawing objects, and also explain how to work with these controls and objects in more
detail.
Top of Page

Form controls

Form controls are the original controls that are compatible with earlier versions of Excel, starting with Excel version 5.0. Form controls are
also designed for use on XLM macro sheets.

You use Form controls when you want to easily reference and interact with cell data without using VBA code, and when you want to add
controls to chart sheets (chart sheet: A sheet in a workbook that contains only a chart. A chart sheet is beneficial when you want to view
a chart or a PivotChart report separately from worksheet data or a PivotTable report.). For example, after you add a list box control to a
worksheet and linking it to a cell, you can return a numeric value for the current position of the selected item in the control. You can then
use that numeric value in conjunction with the INDEX function to select different items from the list.

You can also run macros by using Form controls. You can attach an existing macro to a control, or write or record a new macro. When a
user of the form clicks the control, the control runs the macro.

However, these controls cannot be added to UserForms, used to control events, or modified to run Web scripts on Web pages.

Summary of form controls

Button Name Example Description

Label Identifies the purpose of a cell or text box, or displays descriptive text (such as titles,
captions, pictures) or brief instructions.

Group Groups related controls into one visual unit in a rectangle with an optional label. Typically,
box option buttons, check boxes, or closely related contents are grouped.

Button Runs a macro that performs an action when a user clicks it. A button is also referred to as a
push button.

Check Turns on or off a value that indicates an opposite and unambiguous choice. You can select
box more than one check box on a worksheet or in a group box. A check box can have one of
three states: selected (turned on), cleared (turned off), and mixed, meaning a combination
of on and off states (as in a multiple selection).

Option Allows a single choice within a limited set of mutually exclusive choices; an option button is
button usually contained in a group box or a frame. An option button can have one of three states:
selected (turned on), cleared (turned off), and mixed, meaning a combination of on and off
states (as in a multiple selection). An option button is also referred to as a radio button.

List box Displays a list of one or more items of text from which a user can choose. Use a list box for
displaying large numbers of choices that vary in number or content. There are three types
of list boxes:
A single-selection list box enables only one choice. In this case, a list box
resembles a group of option buttons, except that a list box can handle a large
number of items more efficiently.

A multiple-selection list box enables either one choice or contiguous (adjacent)


choices.

An extended-selection list box enables one choice, contiguous choices, and


noncontiguous (or disjointed) choices.

Combo Combines a text box with a list box to create a drop-down list box. A combo box is more
box compact than a list box but requires the user to click the down arrow to display the list of
items. Use a combo box to enable a user to either type an entry or choose only one item
from the list. The control displays the current value in the text box, regardless of how that
value is entered.

Scroll Scrolls through a range of values when you click the scroll arrows or drag the scroll box. In
bar addition, you can move through a page (a preset interval) of values by clicking the area
between the scroll box and either of the scroll arrows. Typically, a user can also type a text
value directly into an associated cell or text box.

Spin Increases or decreases a value, such as a number increment, time, or date. To increase the
button value, click the up arrow; to decrease the value, click the down arrow. Typically, a user can
also type a text value directly into an associated cell or text box.

NOTE The following controls are unavailable in Office Excel 2007 workbooks. These controls can be used in Excel version 5.0 dialog
sheets only.

Button Name

Text Field

Combo List - Edit

Combo Drop - Down Edit

Run Dialog

Top of Page

ActiveX controls

ActiveX controls (ActiveX control: A control, such as a check box or button that offers options to users or runs macros or scripts that
automate a task. You can write macros for the control in Microsoft Visual Basic for Applications or scripts in Microsoft Script Editor.) can
be used on worksheet forms, with or without the use of VBA code, and on VBA UserForms. In general, use ActiveX controls when you
need more flexible design requirements than those provided by Form controls. ActiveX controls have extensive properties that you can
use to customize their appearance, behavior, fonts, and other characteristics.

You can also control different events that occur when an ActiveX control is interacted with. For example, you can perform different
actions, depending on which choice a user selects from a list box control, or you can query a database to refill a combo box with items
when a user clicks a button. You can also write macros that respond to events associated with ActiveX controls. When a user of the form
interacts with the control, your VBA code then runs to process any events that occur for that control.

Your computer also contains many ActiveX controls that were installed by Excel and other programs, such as Calendar Control 12.0 and
Windows Media Player.

IMPORTANT Not all ActiveX controls can be used directly on worksheets; some can be used only on Visual Basic for Applications
(VBA) (Visual Basic for Applications (VBA): A macro-language version of Microsoft Visual Basic that is used to program Microsoft
Windows-based applications and is included with several Microsoft programs.) UserForms. If you try to add any one of these particular
ActiveX controls to a worksheet, Excel displays the message "Cannot insert object."

However, ActiveX controls cannot be added to chart sheets from the user interface or to XLM macro sheets. You also cannot assign a
macro to run directly from an ActiveX control the same way you can from a Form control.

Summary of ActiveX controls

Button Name Example Description

Check box Turns on or off a value that indicates an opposite and unambiguous choice. You can
select more than one check box at a time on a worksheet or in a group box. A check box
can have one of three states: selected (turned on), cleared (turned off), and mixed,
meaning a combination of on and off states (as in a multiple selection).

Text box Enables you to, in a rectangular box, view, type, or edit text or data that is bound to a
cell. A text box can also be a static text field that presents read-only information.

Command Runs a macro that performs an action when a user clicks it. A command button is also
button referred to as a push button.

Option Allows a single choice within a limited set of mutually exclusive choices usually contained
button in a group box or frame. An option button can have one of three states: selected (turned
on), cleared (turned off), and mixed, meaning a combination of on and off states (as in a
multiple selection). An option button is also referred to as a radio button.

List box Displays a list of one or more items of text from which a user can choose. Use a list box
for displaying large numbers of choices that vary in number or content. There are three
types of list boxes:
A single-selection list box enables only one choice. In this case, a list box
resembles a group of option buttons, except that a list box can handle a large
number of items more efficiently.

A multiple selection list box enables either one choice or contiguous (adjacent)
choices.

An extended-selection list box enables one choice, contiguous choices, and


noncontiguous (or disjointed) choices.
Combo Combines a text box with a list box to create a drop-down list box. A combo box is more
box compact than a list box, but requires the user to click the down arrow to display the list of
items. Use to allow a user to either type an entry or choose only one item from the list.
The control displays the current value in the text box, regardless of how that value is
entered.

Toggle Indicates a state, such as Yes/No, or a mode, such as On/Off. The button alternates
button between an enabled and disabled state when it is clicked.

Spin Increases or decreases a value, such as a number increment, time, or date. To increase
button the value, click the up arrow; to decrease the value, click the down arrow. Typically, a
user can also type a text value into an associated cell or text box.

Scroll bar Scrolls through a range of values when you click the scroll arrows or drag the scroll box.
In addition, you can move through a page (a preset interval) of values by clicking the
area between the scroll box and either of the scroll arrows. Typically, a user can also
type a text value directly into an associated cell or text box.

Label Identifies the purpose of a cell or text box, displays descriptive text (such as titles,
captions, pictures), or provides brief instructions.

Image Embeds a picture, such as a bitmap (bitmap: A picture made from a series of small dots,
much like a piece of graph paper with certain squares filled in to form shapes and lines.
When stored as files, bitmaps usually have the extension .bmp.), JPEG (JPEG: A
graphics file format (.jpg extension in Microsoft Windows) supported by many Web
browsers that was developed for compressing and storing photographic images. It's best
used for graphics with many colors, such as scanned photos.), or GIF (GIF: A graphics
file format (.gif extension in Windows) used to display indexed-color graphics on the
World Wide Web. It supports up to 256 colors and uses lossless compression, meaning
that no image data is lost when the file is compressed.).

Frame A rectangular object with an optional label that groups related controls into one visual
control unit. Typically, option buttons, check boxes, or closely related contents are grouped in a
frame control.

NOTE The ActiveX frame control is not available in the ActiveX Controls section of
the Insert command. However, you can add the control from the More Controls dialog
box by selecting Microsoft Forms 2.0 Frame.

More Displays a list of additional ActiveX controls available on your computer that you can add
Controls to a custom form, such as Calendar Control 12.0 and Windows Media Player. You can
also register a custom control in this dialog box.
Top of Page

Drawing Tool objects

You may also want to include SmartArt graphics, Shapes, WordArt, and text
boxes on your form. You can resize, rotate, flip, color, and combine these
objects to create even more complex shapes. When you type text directly in
a Shape or text box object, the text becomes part of that object — if you
rotate or flip the object, the text rotates or flips with it. Unlike ActiveX controls,
you can assign different attributes, such as font size and font style, to
individual words and characters in the object. You can also assign macros
and add hyperlinks to these objects. You can even link text in a Shape or text
box object to a worksheet cell and dynamically display updated values in those objects.

Top of Page

Working with controls and objects on the worksheet form

After adding forms and ActiveX to a worksheet form, you usually want to fine-tune and rearrange the controls in a variety of ways to
create a well-designed, user friendly form. Common tasks include the following:

Controlling the display of gridlines while you work with the controls, and deciding whether to display the gridlines to the user on
the final worksheet form.

Selecting and deselecting controls so that you can specify properties or make additional adjustments.

Editing text in a control, such as the caption or label.

Grouping, copying, moving, and aligning controls to organize the layout of the worksheet form.

Resizing and formatting controls to obtain the appearance that you want.

Positioning or sizing a control with a cell.

Protecting controls and linked cells according to your specific data protection needs.

Enabling or disabling the printing of controls when the worksheet form is printed.

Deleting unused controls.

You can design a worksheet form with or without cell gridlines in the background. For example, you might want to turn off cell gridlines
and then format all the cells with the same color or pattern, or even use a picture as a sheet background. To hide or show the gridlines,
on the View tab, in the Show/Hide group, clear or select the Gridlines check box.

For more information, see the See Also section of this topic.

Top of Page

Determining the type of control that is on your worksheet

Because there are three different types of controls and objects that you can modify uniquely, you might not know for sure which type of
control it is just by looking at it. To determine the type of control (Form or ActiveX), select and right-click the control, and then display the
shortcut menu:

If the shortcut menu contains the command Properties, the control is an ActiveX control, and you are in design mode.

If the shortcut menu contains the command Assign Macro, the control is a Form control.

TIP To display the correct shortcut menu for the group box Form control, make sure that you select the perimeter instead of the
interior of the group box.
If the shortcut menu contains the command Edit Text, the object is a Drawing object.

Top of Page

VBA UserForms
For maximum flexibility, you can create UserForms, which are custom dialog boxes, that usually include one or more ActiveX controls.
You make UserForms available from VBA code that you create in the Visual Basic Editor (Microsoft Visual Basic Editor: An environment
in which you can edit macros that you've recorded and write new macros and Visual Basic for Applications programs.). The high-level
steps for creating a UserForm are as follows:

1. Insert a UserForm into your workbook's VBAProject. You access a workbook's VBAProject by first displaying the Visual Basic
Editor (press ALT+F11) and then, on the Insert menu, clicking UserForm.

2. Write a procedure to display the UserForm.

3. Add ActiveX controls.

4. Modify properties for the ActiveX controls.

5. Write event-handler procedures for the ActiveX controls.

By using UserForms, you can also utilize advanced form functionality,. For example, you can programmatically add a separate option
button for each letter of the alphabet or you can add a check box for each item in a large list of dates and numbers.

Before creating a UserForm, consider using built-in dialog boxes available from Excel that might fit your needs. These built-in dialog
boxes include the VBA InputBox and MsgBox functions, the Excel InputBox method, GetOpenFilename method,
GetSaveAsFilename method, and the Dialogs object of the Application object, which contains all the built-in Excel dialog boxes.

For more information, see the help topic Find Help on using the Visual Basic Editor, and explore the Microsoft Office Excel Developer
Center.

Top of Page

See Also

Add or remove a sheet background


Delete controls on a worksheet
Edit text in a control on a worksheet
Group, copy, move, or align controls on a worksheet
Position and size a control with its underlying cell on a worksheet
Print a control on a worksheet
Protect controls and linked cells on a worksheet
Resize or format a control on a worksheet
Select or deselect controls on a worksheet

S-ar putea să vă placă și