Dynamically adding a control Object

LaShark

New Member
Joined
Mar 17, 2002
Messages
9
I have dynamically added an array of objects of checkbox type via user forms. This part went well. Now I do not know how to write code to link to the events. In other words, if I created arrayofcheckboxes on a user form, you would think the a "click" event call to the first checkbox would be :
"Private sub arrayofcheckboxes(1)_click()

End Sub"

Nope, Thanks for any help.
 

Excel Facts

Convert text numbers to real numbers
Select a column containing text numbers. Press Alt+D E F to quickly convert text to numbers. Faster than "Convert to Number"
You'd have to post your code I think to be sure. But basically you should get controls ending in 1 to N, with N being the number of controls you added. Something like CheckBox1 to CheckBoxN, unless you are specifically naming them.

-rh
 
Upvote 0
Russel: Below is a very simplified version of what I trying to do. Create an array of checkboxes. During runtime these checkboxes are created. If the checkbox is clicked, then I want some sort of event to happen. I tried what you just suggested by no luck. After the Controls.Add statement you can apply a name but does not seem to help.

Thanks for looking at this!


Dim TestCheckbox(2) As Control
Dim SingleCheckBox As Control


Private Sub CommandButton2_Click()

Set TestCheckbox(1)= _ Controls.Add("Forms.Checkbox.1")
Set TestCheckbox(2)= _ Controls.Add("Forms.Checkbox.1")
Set SingleCheckBox = _ Controls.Add("Forms.Checkbox.1")

With TestCheckbox(1):
.Left = 20
.Caption = "FirstCheckBox"
End With

With TestCheckbox(2):
.Left = 120
.Caption = "SecondCheckBox"
End With

With SingleCheckBox:
.Left = 220
.Caption = "LastCheckbox"
End With


End Sub

Public Sub TestCheckbox2_Click()

With TestCheckbox(2):
.Caption = "ChangedCheckbox"
End With

End Sub


Private Sub CommandButton1_Click()
End
End Sub
 
Upvote 0
When you add a control at run-time, you need to also add the code at run time. Either that or use WithEvents. I'm sorry, I don't have time to go into all the gory details right now, but the adding code involves using the VBComponents class.
This message was edited by Russell Hauf on 2002-03-26 15:38
 
Upvote 0

Forum statistics

Threads
1,213,531
Messages
6,114,172
Members
448,554
Latest member
Gleisner2

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top