Checkbox - Source types

J

JMay

I'm working with some code that

Controls.Add("Forms.Checkbox.1")

What does the word "Forms" above indicate?

I know there are the controls which are created on a sheet-only via Toolbar
Forms;
There are also controls from the Control toolbar (onsheet or Userform
-Active Xtype).

Then sometimes I see in Code "MSForms"... How can I better understand and
figure these things out? Help!!
 
J

Joel

Forms is the name of the userform where the checkbox is located. If the
checkbox is on a worksheet, then you need to add a tool bar as follows:View -
toolbars - Control Toolbox. Then enter design mode and select properties.
Then click on the userform to see the properties.


User forms can also be added in VBA. In the project managger window you can
insert a userform. If a userform exists the to view the userforms in VBA
click on userform in the project manager window.
 
J

JMay

Thanks Joel..
Userform1 is the name of my userform, not forms...??

With UserForm1
.Controls.Add ("forms.Checkbox.1")
With .Controls("Checkbox" & i)
.Left = 20
.Top = X * i
.Width = 80
.Height = 25
.Caption = myarray(i)
End With
End With
 
D

Dave Peterson

Record a macro when you add a checkbox from the forms toolbar to a worksheet.
Then continue recording when you add a checkbox from the Control toolbox
toolbar.

Then look at the code. You'll see that the "Forms.checkbox.1" is used to
indicate the ActiveX version of the checkbox. That's the same type of controls
that are used in UserForms.

And if you see something like:

dim Oleobj as oleobject
with activesheet
for each Oleobj in .oleobjects
if typeof oleobj.object is msforms.checkbox 'ok
as opposed to
if typeof oleobj.object is checkbox 'won't work ok

A plain old checkbox is from the Forms toolbar. The msforms.checkbox is from
the control toolbox toolbar. The code is specifying which checkbox to compare
with.
 
J

JMay

Thanks Dave.
I have printed-off your explanation and will go through word for word.
You have made things much clearer.
Jim
 
D

Dave Peterson

Well, that may not last after you actually read it <vbg>.

Just remember everything has to be able to be uniquely identified.

Range("a1")
could be
worksheets("sheet999").range("a1")
could be
workbooks("book888.xls").worksheets("sheet999").range("a1")
could be
Application.workbooks("book888.xls").worksheets("sheet999").range("a1")

And excel has some objects that share a common name--like Checkbox, Listbox...
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top