To automate a repetitive task, you can quickly record a macro (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.) in Microsoft Office Excel.
You can also create a macro by using the Visual Basic Editor (Visual Basic Editor:
An environment in which you write new and edit existing Visual Basic for Applications
code and procedures. The Visual Basic Editor contains a complete debugging toolset
for finding syntax, run-time, and logic problems in your code.) in Microsoft Visual
Basic to write your own macro script, or to copy all or part of a macro to a new
macro. After you create a macro, you can assign it to an object (such as a toolbar
button, graphic, or control) so that you can run it by clicking the object. If
you no longer use a macro, you can delete it.
Record a macro
When you record a macro, the macro recorder records all the steps required to
complete the actions that you want your macro to perform. Navigation on the Ribbon
is not included in the recorded steps.
Note The Ribbon is a component of the Microsoft Office Fluent
user interface.
- If the Developer tab is not available, do the following
to display it:
- Click the Microsoft Office Button
,
and then click Excel Options.
- In the Popular category, under Top options
for working with Excel, select the Show Developer
tab in the Ribbon check box, and then click OK.
- To set the security level temporarily to enable all macros, do the
following:
- On the Developer tab, in the Code
group, click Macro Security.
- Under Macro Settings, click Enable all
macros (not recommended, potentially dangerous code can run),
and then click OK.
Note To help prevent potentially dangerous code from
running, we recommend that you return to any one of the settings that
disable all macros after you finish working with macros. For more information
about how to change the settings, see Change macro security settings
in Excel.
- On the Developer tab, in the Code
group, click Record Macro.
- In the Macro name box, enter a name for the macro.
Note The first character of the macro name must be
a letter. Subsequent characters can be letters, numbers, or underscore
characters. Spaces cannot be used in a macro name; an underscore character
works well as a word separator. If you use a macro name that is also
a cell reference, you may get an error message that the macro name is
not valid.
- To assign a CTRL combination shortcut key (shortcut key: A function
key or key combination, such as F5 or CTRL+A, that you use to carry
out a menu command. In contrast, an access key is a key combination,
such as ALT+F, that moves the focus to a menu, command, or control.)
to run the macro, in the Shortcut key box, type any
lowercase letter or uppercase letter that you want to use.
Note The shortcut key will override any equivalent
default Excel shortcut key while the workbook that contains the macro
is open. For a list of CTRL combination shortcut keys that are already
assigned in Excel, see Excel shortcut and function keys.
- In the Store macro in list, select the workbook
where you want to store the macro.
Tip If you want a macro to be available whenever you
use Excel, select Personal Macro Workbook. When you
select Personal Macro Workbook, Excel creates a hidden
personal macro workbook (Personal.xlsb) if it does not already exist,
and saves the macro in this workbook. In Windows Vista, this workbook
is saved in the C:\Users\user name\AppData\Local\Microsoft\Excel\XLStart
folder. In Microsoft Windows XP, this workbook is saved in the C:\Documents
and Settings\user name\Application Data\Microsoft\Excel\XLStart folder.
Workbooks in the XLStart folder are opened automatically whenever Excel
starts. If you want a macro in the personal macro workbook to be run
automatically in another workbook, you must also save that workbook
in the XLStart folder so that both workbooks are opened when Excel starts.
- In the Description box, type a description of the
macro.
- Click OK to start recording.
- Perform the actions that you want to record.
- On the Developer tab, in the Code
group, click Stop Recording
.
Tip You can also click Stop Recording
on the left side of the status bar.
Top of Page
Create a macro by using Microsoft Visual Basic
- If the Developer tab is not available, do the following to display it:
- Click the Microsoft Office Button, and then click
Excel Options.
- In the Popular category, under Top options
for working with Excel, select the Show Developer tab
in the Ribbon check box, and then click OK.
- To set the security level temporarily to enable all macros, do the following:
- On the Developer tab, in the Code
group, click Macro Security.
- Under Macro Settings, click Enable all macros
(not recommended, potentially dangerous code can run),
and then click OK.
Note To help prevent potentially dangerous code from running, we recommend that
you return to any one of the settings that disable all macros after you finish
working with macros.
- On the Developer tab, in the Code group,
click Visual Basic.
- If needed, in the Visual Basic Editor, on the Insert menu,
click Module.
Note Modules are automatically created for all sheets in the workbook.
- In the code window of the module, type or copy the macro code that you want
to use.
- To run the macro from the module window, press F5.
- In the Visual Basic Editor, on the File menu, click Close and Return to Microsoft
Excel when you finish writing the macro.
Assign a macro to an object, graphic, or control
- On a worksheet, right-click the object, graphic, or control to which you want
to assign an existing macro, and then click Assign Macro.
- In the Macro name box, click the macro that you want to assign.