I've got a complex Excel spreadsheet I need to use at work. My colleagues use the spreadsheet on Windows PC's, with no special configuration required. I want to run it on a MacBook Pro running Snow Leopard. The spreadsheet contains VBA macros which connect to external Oracle db's over the Internet.

If I understand correctly, Excel on the Mac doesn't run VBA macros, so I have to use Parallels. I installed Parallels on the Mac and it's running correctly, as far as I can tell. I installed Excel 2007 under Parallels.

I can open the Excel spreadsheet in Parallels and click buttons in the spreadsheet to run macros, but the macros fail with compiler errors. I don't have the password to the source code for the VBA macros, and if possible, I don't want to dig in to the code at that level.

I know that there are quite a few things that could go wrong, and examining the VBA code might help, but I'm hoping to solve the problem without going down that road. The spreadsheet runs without any special configuration on Windows, so I'm wondering if anyone out there knows of any limitations of Excel VBA macros under Parallels, or anything else I could do to get this spreadsheet working.

It's the only thing that's keeping me from using this MacBook Pro at work.

Here is the error message:

Compile error in hidden module: clsXXXXx0020Toolx0020Ser. This error commonly occurs when code is incompatible with the version, platform, or architecture of this application. Click Help for more info.

Compile error in hidden module:

A protected module contains a compilation error. Because the error is in a protected module it cannot be displayed.

This error commonly occurs when code is incompatible with the version or architecture of this application (for example, code in a document targets 32-bit Microsoft Office applications but it is attempting to run on 64-bit Office).

This error has the following cause and solution:

Cause of the error:

The error is raised when a compilation error exists in the VBA code inside a protected (hidden) module. The specific compilation error is not exposed because the module is protected.

Possible solutions:

If you have access to the VBA code in the document or project, unprotect the module, and then run the code again to view the specific error.

If you do not have access to the VBA code in the document, then contact the document author to have the code in the hidden module updated.

  • Can you provide a more detailed error message
    – mmmmmm
    Aug 11, 2010 at 19:00
  • Sorry for the delay. I've added the error message to the text of the question.
    – MindModel
    Aug 16, 2010 at 15:58

2 Answers 2


Was the macro originally writen in Office 2007 as well?

Does the Parallels installation match on of your setups where the macro does work in terms of 32bit/64bit?

Apart from those two general questions I'd begin with the network aspect of things since you wrote

The spreadsheet contains VBA macros which connect to external Oracle db's over the Internet.

How about network settings within Parallels - are other macros or network-depending features of Office (e.g. the help-section often suggest to search online) able to connect to your network or the internet?

Those are the question I'd start with.


Since it sounds like you are failing at the database connection level, you need to find out how the VBA source is connecting to the Oracle database. Is the VBA code calling a DSN connection? Is the DSN set up in Windows? Is it using Oracle drivers? Do you need JDBC? There could be long list of how the code connects to Oracle. Without this info, you mostl likely solve the issue.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .