ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   delete Userform control programmatically (https://www.excelbanter.com/excel-programming/323172-delete-userform-control-programmatically.html)

Ben

delete Userform control programmatically
 
Have searched on discussion groups and not found what I am looking for.
How do you programmatically delete a Userform control. This is one that I
have created myself through VBA.
Ben

Tom Ogilvy

delete Userform control programmatically
 
right click on it in the project explorer in the VBE and select remove.

--
Regards,
Tom Ogilvy

"ben" wrote in message
...
Have searched on discussion groups and not found what I am looking for.
How do you programmatically delete a Userform control. This is one that I
have created myself through VBA.
Ben




Ben

delete Userform control programmatically
 
yes of course but i wish to do so while the Userform is running not while
designing it. Thank you however.

"Tom Ogilvy" wrote:

right click on it in the project explorer in the VBE and select remove.

--
Regards,
Tom Ogilvy

"ben" wrote in message
...
Have searched on discussion groups and not found what I am looking for.
How do you programmatically delete a Userform control. This is one that I
have created myself through VBA.
Ben





K Dales[_2_]

delete Userform control programmatically
 
Geez, Ben, didn't turn out to be so easy to figure this out, but you got me
curious so I followed the trail and found the answer: You need to add the
VBIDE (Microsoft Visual Basic for Applications Extensibility) reference, and
then:

ThisWorkBook.VBProject.VBComponents.Remove _
ThisWorkBook.VBProject.VBComponents("UserForm1")


"ben" wrote:

Have searched on discussion groups and not found what I am looking for.
How do you programmatically delete a Userform control. This is one that I
have created myself through VBA.
Ben


Ben

delete Userform control programmatically
 
K. Dales,

I must apologize to everyone, it seems my question was not specific
enough. Let me try again. I want to delete a Control off of a Userform, not
the userform itself, and I wish to do so through VBA not in VBE in design
mode. I did find how to remove all controls, but I wish to do only one at a
time.

"K Dales" wrote:

Geez, Ben, didn't turn out to be so easy to figure this out, but you got me
curious so I followed the trail and found the answer: You need to add the
VBIDE (Microsoft Visual Basic for Applications Extensibility) reference, and
then:

ThisWorkBook.VBProject.VBComponents.Remove _
ThisWorkBook.VBProject.VBComponents("UserForm1")


"ben" wrote:

Have searched on discussion groups and not found what I am looking for.
How do you programmatically delete a Userform control. This is one that I
have created myself through VBA.
Ben


Tom Ogilvy

delete Userform control programmatically
 
Assuming the control was added at runtime

Private Sub CommandButton1_Click()
me.Controls.Remove("textbox1")
End Sub


--
Regards,
Tom Ogilvy

"ben" wrote in message
...
K. Dales,

I must apologize to everyone, it seems my question was not specific
enough. Let me try again. I want to delete a Control off of a Userform,

not
the userform itself, and I wish to do so through VBA not in VBE in design
mode. I did find how to remove all controls, but I wish to do only one at

a
time.

"K Dales" wrote:

Geez, Ben, didn't turn out to be so easy to figure this out, but you got

me
curious so I followed the trail and found the answer: You need to add

the
VBIDE (Microsoft Visual Basic for Applications Extensibility) reference,

and
then:

ThisWorkBook.VBProject.VBComponents.Remove _
ThisWorkBook.VBProject.VBComponents("UserForm1")


"ben" wrote:

Have searched on discussion groups and not found what I am looking

for.
How do you programmatically delete a Userform control. This is one

that I
have created myself through VBA.
Ben




K Dales[_2_]

delete Userform control programmatically
 
No, ben, I apologize as in retrospect you were clear that you were talking
about a userform control, not the userform itself. But, hey, I found out
something useful, right?

A run-time control can be deleted with .Remove, but the argument is the
index number in the controls collection, which can make it tricky since that
can change - but this seems to work:

i = 0
While i < UserForm1.Controls.Count
If UserForm1.Controls(i).Name = "MyControl" Then
UserForm1.Controls.Remove i
i = i + 1
Wend

Hope this finally gives you what you need!


"ben" wrote:

K. Dales,

I must apologize to everyone, it seems my question was not specific
enough. Let me try again. I want to delete a Control off of a Userform, not
the userform itself, and I wish to do so through VBA not in VBE in design
mode. I did find how to remove all controls, but I wish to do only one at a
time.

"K Dales" wrote:

Geez, Ben, didn't turn out to be so easy to figure this out, but you got me
curious so I followed the trail and found the answer: You need to add the
VBIDE (Microsoft Visual Basic for Applications Extensibility) reference, and
then:

ThisWorkBook.VBProject.VBComponents.Remove _
ThisWorkBook.VBProject.VBComponents("UserForm1")


"ben" wrote:

Have searched on discussion groups and not found what I am looking for.
How do you programmatically delete a Userform control. This is one that I
have created myself through VBA.
Ben


Ben

delete Userform control programmatically
 
Thank you, appreciate the assistance

"Tom Ogilvy" wrote:

Assuming the control was added at runtime

Private Sub CommandButton1_Click()
me.Controls.Remove("textbox1")
End Sub


--
Regards,
Tom Ogilvy

"ben" wrote in message
...
K. Dales,

I must apologize to everyone, it seems my question was not specific
enough. Let me try again. I want to delete a Control off of a Userform,

not
the userform itself, and I wish to do so through VBA not in VBE in design
mode. I did find how to remove all controls, but I wish to do only one at

a
time.

"K Dales" wrote:

Geez, Ben, didn't turn out to be so easy to figure this out, but you got

me
curious so I followed the trail and found the answer: You need to add

the
VBIDE (Microsoft Visual Basic for Applications Extensibility) reference,

and
then:

ThisWorkBook.VBProject.VBComponents.Remove _
ThisWorkBook.VBProject.VBComponents("UserForm1")


"ben" wrote:

Have searched on discussion groups and not found what I am looking

for.
How do you programmatically delete a Userform control. This is one

that I
have created myself through VBA.
Ben





Tom Ogilvy

delete Userform control programmatically
 
This works fine (in a Userform):

Private Sub CommandButton1_Click()

Set ctrl = Me.Controls.Add _
(bstrprogID:="Forms.TextBox.1", _
Name:="TextBox1", Visible:=True)
ctrl.Top = Me.Controls("combobox1").Top + _
Me.Controls("Combobox1").Height + 10
ctrl.Left = Me.Controls("Combobox1").Left


End Sub

Private Sub CommandButton2_Click()
Me.Controls.Remove "Textbox1
End Sub

So it isn't restricted to a numerical index - while not real clear, the help
does say that it is not restricted to a numerical index.

--
Regards,
Tom Ogilvy

"K Dales" wrote in message
...
No, ben, I apologize as in retrospect you were clear that you were talking
about a userform control, not the userform itself. But, hey, I found out
something useful, right?

A run-time control can be deleted with .Remove, but the argument is the
index number in the controls collection, which can make it tricky since

that
can change - but this seems to work:

i = 0
While i < UserForm1.Controls.Count
If UserForm1.Controls(i).Name = "MyControl" Then
UserForm1.Controls.Remove i
i = i + 1
Wend

Hope this finally gives you what you need!


"ben" wrote:

K. Dales,

I must apologize to everyone, it seems my question was not

specific
enough. Let me try again. I want to delete a Control off of a Userform,

not
the userform itself, and I wish to do so through VBA not in VBE in

design
mode. I did find how to remove all controls, but I wish to do only one

at a
time.

"K Dales" wrote:

Geez, Ben, didn't turn out to be so easy to figure this out, but you

got me
curious so I followed the trail and found the answer: You need to add

the
VBIDE (Microsoft Visual Basic for Applications Extensibility)

reference, and
then:

ThisWorkBook.VBProject.VBComponents.Remove _
ThisWorkBook.VBProject.VBComponents("UserForm1")


"ben" wrote:

Have searched on discussion groups and not found what I am looking

for.
How do you programmatically delete a Userform control. This is one

that I
have created myself through VBA.
Ben





All times are GMT +1. The time now is 12:16 PM.

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