Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
Adding controls to a userform at runtime
I would like to generate various controls on a skeleton userform (eg, the
number may vary with the occasion) and have tried Private Sub UserForm_activate() Stop Dim obj As Object Set obj = Me Set obj = obj.Add("MSForms.CommandButton.1", "Butt1", True) but when the form opens I receive the error message Runtime error '-2147221005(800401f3': Invalid class string What am I doing wrong, please? |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
Adding controls to a userform at runtime
Hi Alan,
Note: Space and underscore at the end of a line is a line break in an otherwise single line of code. Private Sub UserForm_Activate() Dim Btn1 As MSForms.Control On Error Resume Next Set Btn1 = Me.Controls("Butt1") If Btn1 Is Nothing Then Set Btn1 = Me.Controls.Add _ ("Forms.CommandButton.1", "Butt1", True) With Btn1 .Caption = "My button" .Top = 100 .Left = 100 .Height = 20 .Width = 100 End With Else 'Insert your code here to handle if button already exists MsgBox "Cannot Add Butt1. Already exists" End If End Sub -- Regards, OssieMac "AlanGriffithKapitiNZ" wrote: I would like to generate various controls on a skeleton userform (eg, the number may vary with the occasion) and have tried Private Sub UserForm_activate() Stop Dim obj As Object Set obj = Me Set obj = obj.Add("MSForms.CommandButton.1", "Butt1", True) but when the form opens I receive the error message Runtime error '-2147221005(800401f3': Invalid class string What am I doing wrong, please? |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
Adding controls to a userform at runtime
Hi again Alan,
Amendment. Need to cancel the On Error. Insert in code as follows On Error Resume Next Set Btn1 = Me.Controls("Butt1") On Error GoTo 0 -- Regards, OssieMac "OssieMac" wrote: Hi Alan, Note: Space and underscore at the end of a line is a line break in an otherwise single line of code. Private Sub UserForm_Activate() Dim Btn1 As MSForms.Control On Error Resume Next Set Btn1 = Me.Controls("Butt1") If Btn1 Is Nothing Then Set Btn1 = Me.Controls.Add _ ("Forms.CommandButton.1", "Butt1", True) With Btn1 .Caption = "My button" .Top = 100 .Left = 100 .Height = 20 .Width = 100 End With Else 'Insert your code here to handle if button already exists MsgBox "Cannot Add Butt1. Already exists" End If End Sub -- Regards, OssieMac "AlanGriffithKapitiNZ" wrote: I would like to generate various controls on a skeleton userform (eg, the number may vary with the occasion) and have tried Private Sub UserForm_activate() Stop Dim obj As Object Set obj = Me Set obj = obj.Add("MSForms.CommandButton.1", "Butt1", True) but when the form opens I receive the error message Runtime error '-2147221005(800401f3': Invalid class string What am I doing wrong, please? |
#4
Posted to microsoft.public.excel.programming
|
|||
|
|||
Adding controls to a userform at runtime
I've always had better luck to add all the controls that I'll ever need while in
design mode. But I'll hide the ones I don't need. Then I can use code to show the ones I need when I need them. It makes it easier for the code associated with those controls, too. AlanGriffithKapitiNZ wrote: I would like to generate various controls on a skeleton userform (eg, the number may vary with the occasion) and have tried Private Sub UserForm_activate() Stop Dim obj As Object Set obj = Me Set obj = obj.Add("MSForms.CommandButton.1", "Butt1", True) but when the form opens I receive the error message Runtime error '-2147221005(800401f3': Invalid class string What am I doing wrong, please? -- Dave Peterson |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Need help with adding Controls and event handlers at runtime | Excel Programming | |||
Need help with adding Controls and event handlers at runtime | Excel Programming | |||
Adding controls to a form at runtime | Excel Programming | |||
adding controls to userform at runtime | Excel Programming | |||
Userform runtime controls & Macs | Excel Programming |