Название: Excel Macros For Dummies
Автор: Dick Kusleika
Издательство: John Wiley & Sons Limited
Жанр: Программы
isbn: 9781119844457
isbn:
If you open a workbook that contains macros, you see a yellow bar message under the Ribbon stating that macros (active content) have been disabled. If you have the Visual Basic Editor open, you'll get a dialog box instead of the yellow bar.
If you click Enable, the workbook automatically becomes a trusted document. This means you no longer are prompted to enable the content as long as you open that file on your computer. The basic idea is that if you told Excel that you “trust” a particular workbook by enabling macros, it is highly likely that you will enable macros each time you open it. Thus, Excel remembers that you’ve enabled macros before and inhibits any further messages about macros for that workbook.
This is great news for you and users of your macros. After enabling your macros just one time, they won’t be annoyed at the constant messages about macros, and you won't have to worry that your macro-enabled workbook will fall flat because macros have been disabled.
Trusted locations
If the thought of any macro message coming up (even one time) unnerves you, you can set up a trusted location for your files. A trusted location is a directory that is deemed a safe zone where only trusted workbooks are placed. A trusted location allows you and your clients to run a macro-enabled workbook with no security restrictions as long as the workbook is in that location.
To set up a trusted location, follow these steps:
1 Click the Macro Security button on the Developer tab.The Trust Center dialog box opens.
2 Click the Trusted Locations option on the left.This opens the Trusted Locations window (see Figure 1-6), which shows you all the directories that are considered trusted.
3 Click the Add New Location button.
4 Click Browse to find and specify the directory that will be considered a trusted location.
5 Add an optional description, click OK to close the Microsoft Office Trusted Location dialog, and then click OK again to close the Trust Center dialog.
FIGURE 1-6: The Trusted Locations window allows you to add directories that are considered trusted.
After you specify a trusted location, any Excel file opened from this location will have macros automatically enabled.
Storing and Running Macros
Macros are stored in a workbook. Even though you work with macros in the Visual Basic Editor, the code is stored in the same file with all the worksheets, cells, shapes, or whatever else you have inside your workbook. This makes macros very easy to distribute. You simply send someone the Excel file and the macros are included.
All macros need an event to start them running. Earlier in this chapter, I discussed assigning a shortcut key to a macro you record. Pressing the shortcut key is one type of event that can trigger a macro. In this section, I discuss the Personal Macro Workbook, a special workbook for storing macros, and a few common ways to trigger macros.
Storing macros in your Personal Macro Workbook
Most user-created macros are designed for use in a specific workbook, but you may want to use some macros in all your work. You can store these general-purpose macros in the Personal Macro Workbook so that they’re always available to you This file, named personal.xlsb, doesn't exist until you record a macro using Personal Macro Workbook as the destination. The Personal Macro Workbook is loaded whenever you start Excel.
To record the macro in your Personal Macro Workbook, select the Personal Macro Workbook option in the Record Macro dialog box before you start recording. This option is in the Store Macro In drop-down list (refer to Figure 1-1).
If you store macros in the Personal Macro Workbook, you don’t have to remember to open the Personal Macro Workbook when you load a workbook that uses macros. When you want to exit, Excel asks whether you want to save changes to the Personal Macro Workbook.
The Personal Macro Workbook normally is in a hidden window to keep it out of the way.
Assigning a macro to a button and other form controls
When you create macros, you may want to have a clear and easy way to run each macro. A basic button can provide a simple but effective user interface.
As luck would have it, Excel offers a set of form controls designed specifically for creating user interfaces directly on worksheets. There are several different types of form controls, from buttons (the most commonly used control) to scrollbars.
The idea behind using a form control is simple: You place a form control on a worksheet and then assign a macro to it — that is, a macro you’ve already recorded. When a macro is assigned to the control, that macro is executed, or played, when the control is clicked.
Take a moment to create a button for the AddTotalRelative macro you created earlier. Here’s how:
1 Click the Insert button on the Developer tab. (See Figure 1-7.)
2 Select the Button Form Control from the drop-down list that appears.
3 Click the location where you want to place your button.When you drop the button control onto your worksheet, the Assign Macro dialog box, shown in Figure 1-8, opens and asks you to assign a macro to this button.
4 Select the macro you want to assign to the button and then click OK.
FIGURE 1-7: You can find the form controls on the Developer tab.
FIGURE 1-8: Assign a macro to the newly added button.
FORM CONTROLS VERSUS ACTIVEX CONTROLS
The Insert command on the Developer tab shows both form controls and ActiveX controls (refer to Figure 1-7). Although they look similar, they’re quite different. Form controls are designed specifically for use on a worksheet, and ActiveX controls are typically used on Excel user forms (custom dialog boxes that are beyond the scope of this book). As a general rule, you should always use form controls when working on a worksheet unless there is a specific function that only ActiveX controls have. This is because form controls need less overhead, so they perform better, and configuring form controls is far easier than configuring their ActiveX counterparts.
At this point, you have a button that runs your macro when you click it! Keep in mind that all the controls in the Form Controls group (shown in Figure 1-7) СКАЧАТЬ