How to select the target Excel bitness
Since MS Office 2010 Excel, Excel provides two different bitness options – 32 bit and 64 bit.
When you compile your workbook, you need to define which target Excel will be able to work with your compiled workbook.
To find the bitness of Microsoft Excel you need to follow the path: Microsoft Excel main menu >> File >> Account >> About Excel.
If you select the 32 bit ‘Target Excel’ option, then the compiled EXE will only be able to run on a computer with Excel 32 bit.
If you select the 64 bit ‘Target Excel’ option, then the compiled EXE will only be able to run on a computer with Excel 64 bit.
It does not matter what bitness of Windows OS the computer has, the only the important thing is the bitness of Excel which is installed on the computer where the exe is started.
The ‘Both 32 & 64’ bit ‘Target Excel’ option allows you to create an EXE file which will be indifferent to the Excel bitness on customer computer; the compiled EXE will be able to start as with Excel 32 bit as with Excel 64 bit.
However, the ‘Target Excel Both 32 & 64’ option may not work for some workbooks. If workbook uses VBA code with #if/#else/#endif directives then compilation may fail.
If you select ‘Target Excel Both 32 & 64’ and your workbook compilation fails or your workbook does not work as expected after compilation, then you need to compile separate EXE files for 32 and 64 bit target Excel by selecting only 32-bit or 64-bit respectively.
If you do not know what Excel bitness your client has, then you need to provide the EXE file compiled with ‘Both 32 & 64’ option or deliver both versions of your EXE – for Excel 32 bit and for Excel 64 bit.
Also you may verify the Excel bitness on customer computer. To do that you need to create a simple workbook and insert the following code into Workbook_Open procedure :
#if Win64 then MsgBox "This is 64 bit Excel" #else MsgBox "This is 32 bit Excel" #end if
Send this workbook to your customer and he informs you what message the workbook shows when he starts it on his computer.
Cross compiling is supported, so you may compile the EXE 64 bit from 32 bit Excel and vice versa.