Como eliminar items del listbox

Necesito eliminar items del listbox con doble clic

He encontrado este código que anda perfecto

If ListBox1.ListIndex = -1 Then
Exit Sub 'si no se seleccionó ningún item cancela
End If
ListBox1.RemoveItem (ListBox1.ListIndex)

Pero el problema es que mi lista no la cargo con additem por lo que el código anterior (removeitem) no me funciona.

el listbox lo cargo de la siguiente manera

Private Sub UserForm_Initialize()

filx = Sheets("Hoja1").Range("A" & Rows.Count).End(xlUp).Row
Listbox1.RowSource = "=Hoja1!A1:A" & filx

End Sub

Alguien sabe como eliminar los items o como cargar la lista de otra manare cosa que pueda utilizar Removeitem.

1 Respuesta

Respuesta
1

Puedes cargar el listbox con additem de la siguiente forma:

Private Sub UserForm_Initialize()
'Por.Dante Amor
    For i = 1 To Sheets("Hoja1").Range("A" & Rows.Count).End(xlUp).Row
        ListBox1.AddItem Sheets("Hoja1").Cells(i, "A")
    Next
End Sub

Ahora sí, ya puedes borrar los item con dobleclick y con removeitem:

Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
    If ListBox1.ListIndex = -1 Then
    Exit Sub 'si no se seleccionó ningún item cancela
    End If
    ListBox1.RemoveItem (ListBox1.ListIndex)
End Sub

Muy bueno pero te paso el código que uso para llenar el listbox que en realidad es

filx = Sheets("CAJA").Range("J" & Rows.Count).End(xlUp).Row
ListBox1.RowSource = "=CAJA!J3:K" & filx

tengo dos columnas que voy llenando  a partir de "J3"

1           J                              K      

2        nombre                      apellido

3         lucas                         Miglierina

4        Martin                         Perez

5        Juan                           Martinez

Me encontraba la ultima fila llena y me pasaba los datos al listbox hasta la fila 3

Se podrá acomodar igual?

lo que me pasaste anda perfecto perfecto 

Gracias

Otra opción seria que me traiga los datos de las dos columnas, estuve probando y lo único que me salio es cambiar de columna en vez de la "A" voy a usar la "L" pero necesito que me traiga la "M" también.

Si cargas el listbox con rowsource, entonces hay que eliminar el registro de la hoja y después volver a cargar, pero necesito ver tu listbox y la hoja para adaptar el código. Sobre todo si estás filtrando antes de cargar en el listbox.

Envíame tu archivo y me explicas cómo funciona tu formulario.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas