Fix MSCOMCTL.OCX ListView Errors in 64-Bit Excel VBA
Question details
Users encounter missing control or compatibility errors when attempting to use the MSCOMCTL.OCX ListView control in a 64-bit Excel VBA environment.

- Product
- Microsoft Excel
- Device & OS
- Windows
- Scenario
- Running or editing an Excel VBA macro that relies on the legacy ListView ActiveX control on a computer with a 64-bit installation of Microsoft Office.
- Observed behavior
- VBA throws a compile error or run-time error stating that the MSCOMCTL.OCX object library is invalid, missing, or unregistered, preventing the macro from executing.
Verify whether your installed version of Microsoft Office is 32-bit or 64-bit, as 32-bit ActiveX controls like MSCOMCTL.OCX cannot natively run in a 64-bit Office environment.
Replace the Legacy ListView Control with a Native ListBox
The most robust long-term solution for 64-bit Excel is to remove the incompatible 32-bit MSCOMCTL.OCX reference and replace the ListView with a standard VBA ListBox.
Since 64-bit Microsoft Office applications cannot load 32-bit OCX files, simply copying or registering MSCOMCTL.OCX in the Windows system folders will not resolve the issue within Excel. Adapting your VBA code to use native 64-bit compatible controls ensures cross-platform reliability.
Press ALT + F11 in Excel to open the Visual Basic for Applications (VBA) editor.
Navigate to Tools > References. Look for any item marked as 'MISSING: Microsoft Windows Common Controls' (MSCOMCTL.OCX) and uncheck the box next to it. Click OK.
Open your UserForm in the Project Explorer. Delete the broken ListView control and drag a standard 'ListBox' from the Toolbox onto your form.
Update your VBA script to interact with the new ListBox. Replace ListView-specific methods (like ListItems.Add) with standard ListBox methods (like AddItem or assigning an array to the List property).

Try WPS Office for Lightweight, Hassle-Free Spreadsheet Management
Struggling with complex 64-bit architecture errors and legacy ActiveX control issues in Microsoft Office? WPS Office provides a highly compatible, streamlined alternative that supports standard spreadsheet formats and macro functionalities without the heavy system footprint.

Frequently Asked Questions
Why does MSCOMCTL.OCX work on my old computer but not my new one?
Your new computer likely has the 64-bit version of Microsoft Office installed. MSCOMCTL.OCX is a 32-bit legacy file. Even if your Windows operating system is 64-bit, a 64-bit Office application cannot load a 32-bit ActiveX control.
Can I fix this by registering the OCX file using regsvr32 in Windows?
Registering MSCOMCTL.OCX via the SysWOW64 directory using the command prompt will successfully register the file for Windows, but it will not make it accessible to 64-bit Excel. Excel 64-bit fundamentally requires 64-bit libraries.
What is the best native VBA replacement for a ListView?
A standard VBA ListBox is the most reliable replacement. While it lacks some advanced visual features of a ListView (like built-in column header sorting), it is natively supported in both 32-bit and 64-bit Office environments without requiring external OCX dependencies.




