There are two steps to resolve this issue.
Step 1: Obtain the VBA Converter Pack
The VBA Converter Pack is not included as a part of the Microsoft Office suites. At the top of this article, click
View and request hotfix downloads to obtain the VBA Converter Pack. After you accept the License Agreement, provide your email address and submit your request. Then, you will be able to download and install the VBA Converter Pack.
Note The product that is listed in the Hotfix Request form states "Microsoft Office Excel 2007." However, the download applies to Excel 2007, Excel 2010, and Excel 2013. This is a limitation of the form.
Note The VBA Converter Pack is available only as a 32-bit download. A 64-bit version is not available for the 64-bit version of Excel. As a workaround, you must use the 32-bit version of Excel with the 32-bit VBA Converter Pack in order to open and migrate your existing files. After the code is migrated, you can then use the workbooks in the 64-bit version of Excel.
For more information about the VBA Converter Pack, see the "VBA Converter Information" section at the end of this article.
Step 2: Migrate Excel 5.0/95 code
After you have installed the VBA Converter Pack, you must export each module sheet in the Visual Basic Project Explorer, remove the module sheet, and then import that module back into the workbook. When you look at the macro code in the Project Explorer, there is no visible difference between old VBA macro code and new VBA macro code. Therefore, we advise that you export all modules in the Project Explorer.
Sample add-in to migrate code
A sample add-in that exports all the modules and then imports them back into the same workbook is available for download from the CodePlex site hosted by Microsoft. Follow the steps provided with the documentation of the add-in to migrate your code.
XL5 Module Sheet ConverterManual steps to migrate code
You can follow these steps to migrate your code without using the add-in after you have the workbook open in Excel.
- Press ALT+F11 to open the Visual Basic Editor.
All the VBA modules in the Excel workbook are now displayed. - For each module in the Visual Basic Editor, follow these steps:
- In the Project Explorer pane, right-click the module, and then click Remove Module_name.
Where the placeholder Module_name is the module that you want to export and remove.
- When prompted Do you want to export Module_Name before removing it?, click Yes.
- Locate a folder that you want to save the modules in and then click Save. The module is removed after it is saved.
- Right-click VBAProject (Workbook_name),and then click Import File.
Where the placeholder Workbook_name is the name of the workbook that the module was attached to. - Locate the folder where you saved the module that you exported.
- Select the module file and then click Open. The module is displayed in the Project Explorer pane.
- On the File menu, click Close and return to Microsoft Excel.
- After you have exported and imported all the modules, save your workbook.
If you do not want to download the VBA Converter Pack, you can use Microsoft Office Excel 2003 to migrate the code. Excel 2003 was the last version of Excel that is able to read Excel 5.0/95 VBA code. You can open your workbook in Excel 2003 and then perform the manual steps that are outlined in the section Step 2: Migrate 5.0/95 code to migrate the code.
VBA Converter information
A supported hotfix is available from Microsoft. However, this hotfix is intended to correct only the problem that is described in this article. Apply this hotfix only to systems that are experiencing this specific problem.
If the hotfix is available for download, there is a "Hotfix download available" section at the top of this Knowledge Base article. If this section does not appear, submit a request to Microsoft Customer Service and Support to obtain the hotfix.
Note If additional issues occur or if any troubleshooting is required, you might have to create a separate service request. The usual support costs will apply to additional support questions and issues that do not qualify for this specific hotfix. For a complete list of Microsoft Customer Service and Support telephone numbers or to create a separate service request, visit the following Microsoft website: Note The "Hotfix download available" form displays the languages for which the hotfix is available. If you do not see your language, it is because a hotfix is not available for that language.You may also contact Microsoft Customer Support Services to obtain the VBA Converter Pack.
Note The VBA Converter Pack is provided free of charge. However, if you have additional questions or issues, or if you need any troubleshooting help, a separate service request will be created. The usual support costs will apply to additional support questions and issues that do not directly involve obtaining and installing the VBA Convertor Pack.
Note The code that the VBA Converter Pack uses to open older file types is less secure. Therefore, opening these file types may pose a risk to you. Please be sure of the file's origin before you open the file.