View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Jon[_20_] Jon[_20_] is offline
external usenet poster
 
Posts: 22
Default Using automatically entered code

In searching there is probably a way to do this but I couldn't find it. One
alternative I saw was to include the control on the userform, but set its
visible property to false until needed. Perhaps that would be easier as the
code is there from the beginning.


"Tim" wrote in message
ups.com...
I am having some trouble inserting objects onto a form and using
automatically inserted code. I start with a blank userform. The
segment below addes an optionbuttion and writes some code to handle
clicks on it. Notice the commented out "OptionButton1_Click". Of
course, it needs to be commented out because otherwise
UserForm_Initialize() would not compile because it does not exist at
the program's start. The new sub is created ok, but when I click on
the resulting option button, nothing happens. Why not?????

Private Sub UserForm_Initialize()
Dim cntNew As MSForms.Control

Set cntNew = UserForm2.Controls.Add("Forms.OptionButton.1")
With cntNew
.Value = False
With
Application.VBE.ActiveVBProject.VBComponents("User Form2").CodeModule
.InsertLines .CountOfLines + 1, ("Sub " & cntNew.Name &
"_Click()")
.InsertLines .CountOfLines + 1, ("msgbox ""Here - New
Subroutine!!!!!""") ' tag
.InsertLines .CountOfLines + 1, ("End Sub")
End With
MsgBox .Name
' OptionButton1_Click
End With
Set cntNew = Nothing

End Sub