+ Reply to Thread
Results 1 to 9 of 9

delete Userform control programmatically

  1. #1
    ben
    Guest

    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

  2. #2
    Tom Ogilvy
    Guest

    Re: delete Userform control programmatically

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

    --
    Regards,
    Tom Ogilvy

    "ben" <[email protected]> wrote in message
    news:[email protected]...
    > 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. #3
    ben
    Guest

    Re: 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" <[email protected]> wrote in message
    > news:[email protected]...
    > > 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. #4
    K Dales
    Guest

    RE: 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


  5. #5
    ben
    Guest

    RE: 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


  6. #6
    Tom Ogilvy
    Guest

    Re: 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" <[email protected]> wrote in message
    news:[email protected]...
    > 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. #7
    K Dales
    Guest

    RE: 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


  8. #8
    ben
    Guest

    Re: 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" <[email protected]> wrote in message
    > news:[email protected]...
    > > 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. #9
    Tom Ogilvy
    Guest

    Re: 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" <[email protected]> wrote in message
    news:[email protected]...
    > 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 to Thread

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts

Search Engine Friendly URLs by vBSEO 3.6.0 RC 1