¿Cómo eliminar registros filtrados en un listbox y se vea reflejado en la hoja ?
Que tal amigos de todoexpertos.com, quisiera hacer una consulta acerca de ¿cómo eliminar registros filtrados en un listbox?, tengo un código para eliminación, pero después de aplicar un filtrado selecciono el item a eliminar y no me elimina correctamente.
En una hoja de excel manejo un formulario que busca información en un listbox, este formulario contiene dos botones; 1.- modificar, 2.- eliminar, el problema es con el segundo botón ya que cuando filtro registros y se encuentran dos o mas registros con un mismo código no me elimina el que selecciono sino el primero que encuentra, he estado dándole un par de vueltas y no logro resolverlo, espero me puedan brindar un poco de su ayuda para llegar a una solución. Desde ahora agradezco su tiempo, gracias.
Código de eliminación:
Private Sub UserForm_Initialize()
Lista
Range("B4").Select
Combo_Criterio.Clear
Do Until ActiveCell = ""
Combo_Criterio.AddItem ActiveCell
ActiveCell.Offset(, 1).Select
Loop
End Sub
´.........................................................................
Sub Lista()
'le decimos cuántas columnas tendrá
LisDts.ColumnCount = 15
'que sí que tiene encabezado
LisDts.ColumnHeads = True
'el origen de datos en nuestra hoja de cálculo
LisDts.RowSource = "Tabla1"
End Sub
´.........................................................................
Private Sub LisDts_Click()
items = Me.LisDts.ListCount
For i = 0 To items - 1
If Me.LisDts.Selected(i) Then
filactiva = Me.LisDts.List(i)
End If
Next i
End Sub
.........................................................................
Private Sub CommandButton1_Click()
If LisDts.ListIndex = -1 Then: Exit Sub
If LisDts.List(LisDts.ListIndex, 0) = "" Then: Exit Sub
If MsgBox("Deseal eliminar el " & LisDts.List(LisDts.ListIndex, 0) & "?", vbQuestion + vbYesNo) = vbYes Then
Hoja1.Rows(LisDts.ListIndex + 5).Delete
Lista '
Else
Exit Sub
End If
End Sub
Muchas gracias Dante. Me sirvió la primera opción. - Oscar Fernando Alvarez Ortiz
Con gusto! - Dante Amor