What is the difference between "Form Controls" and "ActiveX Control" in Excel 2010?
Solution 1
Google is full of information on this. As Hans Passant said, Form controls are built in to Excel whereas ActiveX controls are loaded separately.
Generally you'll use Forms
controls, they're simpler. ActiveX
controls allow for more flexible design and should be used when the job just can't be done with a basic Forms
control.
Many user's computers by default won't trust ActiveX
, and it will be disabled; this sometimes needs to be manually added to the trust center. ActiveX
is a microsoft-based technology and, as far as I'm aware, is not supported on the Mac. This is something you'll have to also consider, should you (or anyone you provide a workbook to) decide to use it on a Mac.
Solution 2
One major difference that is important to know is that ActiveX controls show up as objects that you can use in your code- try inserting an ActiveX control into a worksheet, bring up the VBA editor (ALT + F11) and you will be able to access the control programatically. You can't do this with form controls (macros must instead be explicitly assigned to each control), but form controls are a little easier to use. If you are just doing something simple, it doesn't matter which you use but for more advanced scripts ActiveX has better possibilities.
ActiveX is also more customizable.
Solution 3
It's also worth noting that ActiveX controls only work in Windows, whereas Form Controls will work on both Windows and MacOS versions of Excel.
Related videos on Youtube
Rubens Mariuzzo
Full stack web developer. JS enthusiast in both server and client side. Follow or help me on GitHub: @rmariuzzo.
Updated on July 12, 2020Comments
-
Rubens Mariuzzo almost 4 years
Using Microsoft Excel 2010, I noticed two kind of controls that can be inserted into a document: Form Controls and ActiveX Controls.
What is the difference between them?
-
user1703401 about 11 yearsThe Form controls are baked into Excel itself. The ActiveX controls are loaded from separate DLLs. You can add extra ActiveX controls, not Form controls.
-
Rubens Mariuzzo about 11 yearsThanks @HansPassant! As far as I understand I should start with Form Control while the job can be done without relying to ActiveX Controls.
-
ashleedawg over 5 yearsSee my detailed answer here: Overview of differences between Form Controls and ActiveX Controls in Excel
-
-
Rubens Mariuzzo about 11 yearsI was looking for this kind of answer/explanation. Now I understand the pros and cons of Form Controls over ActiveX. I will be using Form Controls while the job can be done with them. Thanks Sam and thanks @HansPassant
-
StoriKnow about 11 yearsNo problem - glad to help. If you're satisfied with the provided answer please remember to mark is as so, this way others know an answer was provided.
-
Rubens Mariuzzo about 11 yearsNo problem, I use to be patient and wait for other opinions.
-
Ralph about 9 years@Sam, I find your answer most helpful. But maybe you are willing to add one more thing to your answer whcih I had to find out the hard way. ActiveX controls sometimes "misbehave" and automatically more or resize. mrexcel.com/forum/excel-questions/… or blogs.technet.com/b/the_microsoft_excel_support_team_blog/…
-
Jacques Gaudin about 7 yearsThis would be an answer if you could provide a macro that gives different results with an ActiveX / Form control.
-
Tim Joy T-Square Consulting almost 7 yearsSomeone has posted in that mrexcel.com thread a link back to this StackOverflow thread excel-the-incredible-shrinking-and-expanding-controls which has much discussion on the problems with ActiveX controls.