Looking for alternatives to 32-bit only Microsoft Common Controls (ListView)

calendar_today Asked May 28, 2013
thumb_up 7 upvotes
history Updated April 14, 2026

Direct Answer

One thing that is theoretically possible would be to write your display code as a .Net assembly and access that via COM from your VBA code (see for example How can I make use of…. This is an advisory response with reference links, ranked #24th of 95 by community upvote score, from 2013.


The Problem (Q-score 22, ranked #24th of 95 in the VBA Core archive)

The scenario as originally posted in 2013

I have a legacy application developed in VBA/Excel which uses ListView controls. Unfortunately, it looks like these controls can’t be used with 64-bit versions of Excel:

Native 64-bit processes in Office 2010 cannot load 32-bit binaries. This includes the common controls of MSComCtl [such as ListViews]. An alternative must be found for existing Microsoft Office VBA solutions that utilize these controls when the code is migrated to 64-bit Office 2010.

I need to migrate that legacy application to Excel 2010/13 x64. The process is mostly painless except for those ListView controls.

What are my main options to replace the ListView control and which would be the most effective (from a time&difficulty to implement perspective)?

Notes:

  • This issue has been raised on MS forums but no practical answer has been given.
  • adding .net tag as I suspect some solutions could come from there.

To make it clearer, here is a snapshot of the Excel user form. The bottom part is the list view (I have hidden confidential information), which has sortable column, allows the user to select multiple, non-consecutive, lines.

enter image description here

Why community consensus is tight on this one

Across 95 VBA Core entries in the archive, the accepted answer here holds niche answer (below median) status — meaning voters are unusually aligned on the right fix.


The Verified Solution — niche answer (below median) (+7)

Advisory answer — community consensus with reference links

Note: the verified answer below is a reference / advisory response rather than a copy-ready snippet.

One thing that is theoretically possible would be to write your display code as a .Net assembly and access that via COM from your VBA code (see for example How can I make use of .NET objects from within Excel VBA? as a starting point for how to do this).

That way you can write .Net code for your controls. I haven’t done that myself and am not sure how well it applies to your problem, but it looks like an option.

I just found a short tutorial for calling .Net from Excel.


When to Use It — classic (2013–2016)

Ranked #24th in its category — specialized fit

This pattern sits in the 94% tail relative to the top answer. Reach for it when your scenario closely matches the question title; otherwise browse the VBA Core archive for a higher-consensus alternative.

What changed between 2013 and 2026

The answer is 13 years old. The VBA Core object model has been stable across Office 2013, 2016, 2019, 2021, 365, and 2024/2026 LTSC, so the pattern still compiles. Changes that might affect you: 64-bit API declarations (use PtrSafe), blocked macros in downloaded files (Mark-of-the-Web), and the shift toward Office Scripts for web-first workflows.

help
Frequently Asked Questions

This is a below-median answer — when does it still fit?
expand_more

Answer score +7 vs the VBA Core archive median ~4; this entry is niche. The score plus 22 supporting upvotes on the question itself (+22) means the asker and 6 subsequent voters all validated the approach.

This answer links out — what are the reference links worth following?
expand_more

Read the first external link for the canonical reference, then search this archive for a top-10 entry in the same category — advisory answers are best paired with a ranked code snippet to close the loop.

Published around 2013 — what’s changed since?
expand_more

Published 2013, which is 13 year(s) before today’s Office 2026 build. The VBA Core object model has had no breaking changes in that window. Three things to re-test: (1) blocked macros on downloaded files (Mark-of-the-Web), (2) 64-bit API declarations (PtrSafe, LongPtr), (3) any shift toward Office Scripts for web scenarios.

Which VBA Core pattern ranks just above this one at #23?
expand_more

The pattern one rank above is “C# Char from Int used as String – the real equivalent of VB Chr()”. If your use case overlaps, compare both before committing.

Data source: Community-verified Q&A snapshot. Q-score 22, Answer-score 7, original post 2013, ranked #24th of 95 in the VBA Core archive. Last regenerated April 14, 2026.

vba