ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Add code on the fly to existing userforms (https://www.excelbanter.com/excel-programming/403603-add-code-fly-existing-userforms.html)

pan65

Add code on the fly to existing userforms
 
I know I can create a new userform with new controls and new code for the
controls on the fly using VB. I have also added controls to an existing
userform but I am having trouble adding code for the controls. The name of
my userform is frmGSN and Code is a string of code. I am trying the
following code but it doesn't recognize the .CodeModule

With frmGSN.CodeModule
.InsertLines .CountOfLines + 1, Code
End With

Please help. Thanks

Bob Phillips

Add code on the fly to existing userforms
 
Here is an example

Sub MakeForm()
Dim TempForm As Object
Dim FormName As String
Dim NewButton As Msforms.CommandButton
Dim TextLocation As Long
'
' Create the UserForm
Set TempForm = ThisWorkbook.VBProject. _
VBComponents.Add(3) 'vbext_ct_MSForm
FormName = TempForm.Name
With TempForm
.Properties("Caption") = "Temporary Form"
.Properties("Width") = 200
.Properties("Height") = 100
End With
'
' Add a CommandButton
Set NewButton = TempForm.Designer.Controls _
.Add("forms.CommandButton.1")
With NewButton
.Caption = "Click Me"
.Left = 60
.Top = 40
End With
'
' Add an event-hander sub for the CommandButton
With TempForm.CodeModule
TextLocation = .CreateEventProc("Click", "CommandButton1")
.InsertLines TextLocation + 1, "MsgBox ""Hello!"""
.InsertLines TextLocation + 2, "Unload Me"
End With
'
' Show the form
VBA.UserForms.Add(FormName).Show
'
' Delete the form
ThisWorkbook.VBProject.VBComponents.Remove VBComponent:=TempForm
End Sub



--
---
HTH

Bob


(there's no email, no snail mail, but somewhere should be gmail in my addy)



"pan65" wrote in message
...
I know I can create a new userform with new controls and new code for the
controls on the fly using VB. I have also added controls to an existing
userform but I am having trouble adding code for the controls. The name
of
my userform is frmGSN and Code is a string of code. I am trying the
following code but it doesn't recognize the .CodeModule

With frmGSN.CodeModule
.InsertLines .CountOfLines + 1, Code
End With

Please help. Thanks




Dave Peterson

Add code on the fly to existing userforms
 
Another option would be to create the userform with those controls on it--and
the code behind those controls, too.

Then just hide/show the controls you want hidden/shown.

pan65 wrote:

I know I can create a new userform with new controls and new code for the
controls on the fly using VB. I have also added controls to an existing
userform but I am having trouble adding code for the controls. The name of
my userform is frmGSN and Code is a string of code. I am trying the
following code but it doesn't recognize the .CodeModule

With frmGSN.CodeModule
.InsertLines .CountOfLines + 1, Code
End With

Please help. Thanks


--

Dave Peterson

pan65

Add code on the fly to existing userforms
 
I am gathering from your response and from Bob's response, that I just need
to start with a new userform.

Thanks for the help, it is much appreciated.

"Dave Peterson" wrote:

Another option would be to create the userform with those controls on it--and
the code behind those controls, too.

Then just hide/show the controls you want hidden/shown.

pan65 wrote:

I know I can create a new userform with new controls and new code for the
controls on the fly using VB. I have also added controls to an existing
userform but I am having trouble adding code for the controls. The name of
my userform is frmGSN and Code is a string of code. I am trying the
following code but it doesn't recognize the .CodeModule

With frmGSN.CodeModule
.InsertLines .CountOfLines + 1, Code
End With

Please help. Thanks


--

Dave Peterson


Dave Peterson

Add code on the fly to existing userforms
 
Bob created a new userform, but you could use an existing one.

I suggested that you create the extra controls while you're still designing the
form--not at run time.

pan65 wrote:

I am gathering from your response and from Bob's response, that I just need
to start with a new userform.

Thanks for the help, it is much appreciated.

"Dave Peterson" wrote:

Another option would be to create the userform with those controls on it--and
the code behind those controls, too.

Then just hide/show the controls you want hidden/shown.

pan65 wrote:

I know I can create a new userform with new controls and new code for the
controls on the fly using VB. I have also added controls to an existing
userform but I am having trouble adding code for the controls. The name of
my userform is frmGSN and Code is a string of code. I am trying the
following code but it doesn't recognize the .CodeModule

With frmGSN.CodeModule
.InsertLines .CountOfLines + 1, Code
End With

Please help. Thanks


--

Dave Peterson


--

Dave Peterson

Bob Phillips

Add code on the fly to existing userforms
 
You said you were creating a new userform, I just gave some code that
included that creation as well as the controls and the code.

--
---
HTH

Bob


(there's no email, no snail mail, but somewhere should be gmail in my addy)



"pan65" wrote in message
...
I am gathering from your response and from Bob's response, that I just need
to start with a new userform.

Thanks for the help, it is much appreciated.

"Dave Peterson" wrote:

Another option would be to create the userform with those controls on
it--and
the code behind those controls, too.

Then just hide/show the controls you want hidden/shown.

pan65 wrote:

I know I can create a new userform with new controls and new code for
the
controls on the fly using VB. I have also added controls to an
existing
userform but I am having trouble adding code for the controls. The
name of
my userform is frmGSN and Code is a string of code. I am trying the
following code but it doesn't recognize the .CodeModule

With frmGSN.CodeModule
.InsertLines .CountOfLines + 1, Code
End With

Please help. Thanks


--

Dave Peterson




Dave Peterson

Add code on the fly to existing userforms
 
I think you misread the OP.

The subject adds more info, too.



Bob Phillips wrote:

You said you were creating a new userform, I just gave some code that
included that creation as well as the controls and the code.

--
---
HTH

Bob

(there's no email, no snail mail, but somewhere should be gmail in my addy)

"pan65" wrote in message
...
I am gathering from your response and from Bob's response, that I just need
to start with a new userform.

Thanks for the help, it is much appreciated.

"Dave Peterson" wrote:

Another option would be to create the userform with those controls on
it--and
the code behind those controls, too.

Then just hide/show the controls you want hidden/shown.

pan65 wrote:

I know I can create a new userform with new controls and new code for
the
controls on the fly using VB. I have also added controls to an
existing
userform but I am having trouble adding code for the controls. The
name of
my userform is frmGSN and Code is a string of code. I am trying the
following code but it doesn't recognize the .CodeModule

With frmGSN.CodeModule
.InsertLines .CountOfLines + 1, Code
End With

Please help. Thanks

--

Dave Peterson


--

Dave Peterson

Bob Phillips

Add code on the fly to existing userforms
 
This seems explicit to me ...

I know I can create a new userform with new controls and new code for the
controls on the fly using VB.

--
---
HTH

Bob


(there's no email, no snail mail, but somewhere should be gmail in my addy)



"Dave Peterson" wrote in message
...
I think you misread the OP.

The subject adds more info, too.



Bob Phillips wrote:

You said you were creating a new userform, I just gave some code that
included that creation as well as the controls and the code.

--
---
HTH

Bob

(there's no email, no snail mail, but somewhere should be gmail in my
addy)

"pan65" wrote in message
...
I am gathering from your response and from Bob's response, that I just
need
to start with a new userform.

Thanks for the help, it is much appreciated.

"Dave Peterson" wrote:

Another option would be to create the userform with those controls on
it--and
the code behind those controls, too.

Then just hide/show the controls you want hidden/shown.

pan65 wrote:

I know I can create a new userform with new controls and new code
for
the
controls on the fly using VB. I have also added controls to an
existing
userform but I am having trouble adding code for the controls. The
name of
my userform is frmGSN and Code is a string of code. I am trying the
following code but it doesn't recognize the .CodeModule

With frmGSN.CodeModule
.InsertLines .CountOfLines + 1, Code
End With

Please help. Thanks

--

Dave Peterson


--

Dave Peterson




Dave Peterson

Add code on the fly to existing userforms
 
But it's out of context.

Add in the subject and the last couple of sentences and it looks like the OP,
well, you know what I think <bg.


Bob Phillips wrote:

This seems explicit to me ...

I know I can create a new userform with new controls and new code for the
controls on the fly using VB.

--
---
HTH

Bob

(there's no email, no snail mail, but somewhere should be gmail in my addy)

"Dave Peterson" wrote in message
...
I think you misread the OP.

The subject adds more info, too.



Bob Phillips wrote:

You said you were creating a new userform, I just gave some code that
included that creation as well as the controls and the code.

--
---
HTH

Bob

(there's no email, no snail mail, but somewhere should be gmail in my
addy)

"pan65" wrote in message
...
I am gathering from your response and from Bob's response, that I just
need
to start with a new userform.

Thanks for the help, it is much appreciated.

"Dave Peterson" wrote:

Another option would be to create the userform with those controls on
it--and
the code behind those controls, too.

Then just hide/show the controls you want hidden/shown.

pan65 wrote:

I know I can create a new userform with new controls and new code
for
the
controls on the fly using VB. I have also added controls to an
existing
userform but I am having trouble adding code for the controls. The
name of
my userform is frmGSN and Code is a string of code. I am trying the
following code but it doesn't recognize the .CodeModule

With frmGSN.CodeModule
.InsertLines .CountOfLines + 1, Code
End With

Please help. Thanks

--

Dave Peterson


--

Dave Peterson


--

Dave Peterson


All times are GMT +1. The time now is 10:48 AM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com