What is used now instead of VBA

Change macro security settings in Excel

In Excel, you can change macro security settings to control which macros run under which conditions when a workbook is opened. For example, you could choose to allow macros that are digitally signed by a trusted developer to run.

For more information about macro security settings in Microsoft Office documents, see Enable or disable macros in Office files.

Macro security settings and their effects

The following list summarizes the various macro security settings. If antivirus software that works with Microsoft Office has been installed and the workbook contains macros, it will be checked for known viruses under all settings before it is opened.

  • Deactivate all macros without notification Click this option if you don't trust macros. Then all macros in documents and the security warnings about macros are deactivated. If there are documents with unsigned macros that you trust, you can put those documents in a trusted location. Documents in trusted locations are allowed to run without being checked by the security center's security system.

  • Deactivate all macros with notification This is the default setting. Click this option to disable macros, but with security warnings if macros are present. This allows you to choose when to activate these macros on a case-by-case basis.

  • Deactivate all macros except digitally signed macros This setting is identical to the option Deactivate all macros with notification - with one exception: if the macro was digitally signed by a trusted publisher, it can be executed if you have already designated it as trusted. If you have not trusted the publisher, you will be notified accordingly. In this way, you can choose whether to enable the signed macros or to trust the publisher. All unsigned macros will be disabled without notification.

  • Enable all macros (not recommended, potentially dangerous code can be executed) Click this option to allow all macros to run. Using this setting makes your computer vulnerable to potentially malicious code and is not recommended.

  • Trust access to the VBA project object model This setting is intended for developers and is used to intentionally block or allow programmatic access to the VBA object model from any automation client. In other words, the setting provides a security option for code that was written to automate an Office program and to manipulate the Microsoft Visual Basic for Applications (VBA) environment and the VBA object model programmatically. This user- and application-dependent setting cannot be accessed by default. This security option makes it difficult for unauthorized programs to create "self-replicating" code that can damage end-user systems. In order for an automation client to programmatically access the VBA object model, the user executing the code must explicitly grant it access. Check the box to enable access.

Use of digital signatures

Office uses Microsoft Authenticode technology to enable macro creators to digitally sign a file or macro project. The certificate used to create this signature confirms that the macro or document came from the signer, and the signature confirms that the macro or document has not been modified.

After you've created your digital certificate, you can sign files and macro projects.

Obtaining a digital certificate to sign

You can obtain a digital certificate from a commercial certification authority, an internal security administrator, or an IT professional.

For more information about certification authorities that provide services for Microsoft products, see the Microsoft Root Certificate Program Members list.

Create your own digital certificate to self-sign

You can also create your own self-signed certificate using the Selfcert.exe tool.

Note: Since a digital certificate that you created was not issued by an official certification authority, macro projects signed with such a certificate are referred to as "self-signed projects". Microsoft Office only trusts a self-signed certificate on a computer that has this certificate stored in the personal certificate store.

For more information about digitally signing a macro, see Digitally Signing a Macro Project.

Change macro security settings

You can change the macro security settings in the Security Center, unless a system administrator in your organization has changed the default settings to prevent you from changing them.

  1. Click the tab Developer tools in the group code on Macro security.

    For information about how to view the Developer tab, see Viewing the Developer Tab.

  2. Click in the category Settings for macros under Settings for macros the option you want.

    Note: Any changes you made in the category Settings for macros in Excel apply only to Excel and have no effect on any other Microsoft Office program.

You can also access the Trust Center in the Excel options. To do this, click Options (in versions Excel 2010 to 2016) or to the Microsoft Office button (in Excel 2007), and then click Trust Center > Trust Center settings > Macro settings.

For more information on macro security, see the following topics:

Troubleshooting

I cannot change my macro security settings

Some users may not be able to change the Trust Center settings due to group security policies in their organizations. In such cases, you need to contact the IT administrator for your organization.

Where are the "Very High", "High", "Medium" and "Low" security settings now?

Excel 2003 setting

Excel 2007/2010/2013/2016 equivalent

additional Information

Very high

Deactivate all macros without notification

In Excel 2003, VBA macros can only run if the "Trust all installed add-ins and templates" option (on the Trusted Publishers tab in the Security dialog box) is selected and the macros (signed or unsigned) in stored in a specific trusted folder on the user's hard drive.

If all of these conditions are not met, VBA macros cannot run under the "Very High" security setting in Excel 2003.

High

Deactivate all macros except digitally signed macros

Excel 2003 requires executable files (such as .EXE or .COM) to be signed by a recognized, trusted source (that is, a certificate that you trust) in order to run. Otherwise, all executable files associated with or embedded in documents will be automatically disabled without warning the user when opening those documents.

By default, all Office 2003 programs are installed with the Macro Security setting of High.

medium

Deactivate all macros with notification

Excel 2003 prompts users to enable or disable executable files when a document is opened. This stage requires the acceptance of a trust certificate for each executable file, which is accepted by making the certificate a segment of the Windows computer registry.

Subsequent requests to run a macro from a trusted source are automatically accepted (that is, the executable file runs without prompting the user).

Low

Enable all macros (not recommended; potentially dangerous code can be executed)

In Excel 2003, all macros run without restrictions. This level of security does not protect against malware, does not allow the acceptance of certificates that you trust, and is generally not considered secure. This level is not recommended.

Do you need more help?

You can always ask an expert in the Excel Tech Community, get support from the Answers Community, or suggest a new feature or improvement on Excel User Voice.

Top of page