ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   How can I find type of control on a form (https://www.excelbanter.com/excel-programming/376756-how-can-i-find-type-control-form.html)

John T Ingato

How can I find type of control on a form
 
I would like to loop through all controls on a custom form and only process
those that are checkbox controls, or textboxes, or labels, etc.

In VBA form module, I was thinking it would be possible to do something like
this:

dim c as control

for each c in me.controls
if c.type = xlcheckbox (or whatever the correct constant should be) then
checkboxCount = checkboxCount + 1
end if
next c

The problem is that there isn't a type property for a control. Can someone
tell me how to do this. I read in help that it was possible to loop thru
the controls on worksheets by looping through the shapes collection, testing
to see if it is a control, then testing to see if it is a checkbox; however
I am interested in looping through controls on a form.




JLGWhiz

How can I find type of control on a form
 
Maybe this will work:
Dim s as Shape

For Each s In Worksheets(mySheet).Shapes
If s.Type = msoFormControl Then
If s.FormControlType = xlCheckBox Then _
'Do something fabulous
End If
Next


"John T Ingato" wrote:

I would like to loop through all controls on a custom form and only process
those that are checkbox controls, or textboxes, or labels, etc.

In VBA form module, I was thinking it would be possible to do something like
this:

dim c as control

for each c in me.controls
if c.type = xlcheckbox (or whatever the correct constant should be) then
checkboxCount = checkboxCount + 1
end if
next c

The problem is that there isn't a type property for a control. Can someone
tell me how to do this. I read in help that it was possible to loop thru
the controls on worksheets by looping through the shapes collection, testing
to see if it is a control, then testing to see if it is a checkbox; however
I am interested in looping through controls on a form.






All times are GMT +1. The time now is 09:19 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com