![]() |
![]() |
|
|||||||
| Excel Questions All Excel/VBA questions - formulas, macros, pivot tables, general help, etc. Please post to this forum in English only. |
![]() |
|
|
Thread Tools | Display Modes |
|
|
#1 |
|
New Member
Join Date: Mar 2002
Posts: 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. |
|
|
|
|
|
#2 |
|
MrExcel MVP
Join Date: Feb 2002
Location: Portland, OR USA
Posts: 1,374
|
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 |
|
|
|
|
|
#3 |
|
New Member
Join Date: Mar 2002
Posts: 9
|
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 |
|
|
|
|
|
#4 |
|
MrExcel MVP
Join Date: Feb 2002
Location: Portland, OR USA
Posts: 1,374
|
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 ] |
|
|
|
![]() |
| Bookmarks |
| Thread Tools | |
| Display Modes | |
|
|