Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
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 |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
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 |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
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 |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
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 |
#5
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
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 |
#6
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
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 |
#7
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
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 |
#8
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
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 |
#9
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
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 |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Programmatically set Excel 97 Control Toobar Checkbox object & container name | Excel Programming | |||
delete row programmatically | Excel Programming | |||
Programmatically determine if a control is .VISIBLE or not. | Excel Programming | |||
Excel - adding control programmatically. | Excel Programming | |||
Is it possible to change the Input Range of a Form Control programmatically? | Excel Programming |