Get Even More Visitors To Your Blog, Upgrade To A Business Listing >>

VBA: Borrar elementos de un ListBox-.RemoveItem

Veremos una sencilla forma de eliminar elementos dentro de un ListBox en un UserForm (formulario de usuario), siempre y cuando se hayan cargado empleando el método .AddItem !!...
Esto, por tanto, no será válido para datos cargados con la propiedad .RowSource.


Tenemos un formulario con un ListBox llamado 'LstPais'



Para cargar los datos desde nuestra Tabla de países en la hoja de cálculo, asociaremos al evento _Initialize con el método .AddItem.
Mientras que asociado al evento Doble Clic (_DblClick) conseguiremos que el elemento sobre el que realicemos dicha acción se elimine...


Así pues añadimos los siguiente códigos dentro de la ventana de código de nuestro UserForm en nuestro proyecto de VB:

Private Sub UserForm_Initialize()
'recorremos cada celda del campo pais de nuestra Tabla
For Each pais In Range("TblPaises[paises]")
'lo incorporamos como elemento nuevo del ListBox
'empleando el método .AddItem
Me.LstPais.AddItem pais.Value
Next pais
End Sub

Private Sub LstPais_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
'condicionamos al evento Doble Clic el borrado del elemento
'si hay algo seleccionado lo borramos
If Me.LstPais.ListIndex >= 0 Then
'con el método .RemoveItem eliminamos el elemento
Me.LstPais.RemoveItem (Me.LstPais.ListIndex)
End If

End Sub


Podemos ejecutar nuestro formulario y comprobar el correcto uso...



This post first appeared on EXCEL FORO: EJERCICIOS, EJEMPLOS, SOLUCIONES, DUDA, please read the originial post: here

Share the post

VBA: Borrar elementos de un ListBox-.RemoveItem

×

Subscribe to Excel Foro: Ejercicios, Ejemplos, Soluciones, Duda

Get updates delivered right to your inbox!

Thank you for your subscription

×