Filtrar datos y cargarlos en un ListBox. Seleccionar un item y activar la celda para eliminarlo

Hola Expertos.

Tengo este formulario, el cual en el TxtSección, debo filtrar todos los datos, por ejemeplo secciones, que se llamen A1, b2, c3, etc y me cargue en el listbox los nombres de las personas que trabajen en esa sección. Debe cargarse en el listbox, desde la columna A hasta D y una vez haga esto, entonces, al dar click sobre el nombre de alguno de esos empleados, se debe activar la celda donde están almacenados esos datos y dando clic en el botón eliminar, se debe borrar de la hoja ese empleado.

Para activar la celda del registro elegido, estoy usando esta macro:

ActiveSheet.Unprotect Password:="Seguridad"
'ThisWorkbook.Sheets("Secc").Activate
'Range("A2").Activate
Cuenta = Me.ListBox1.ListCount
Set Rango = Range("A1").CurrentRegion
For i = 0 To Cuenta '1
If Me.ListBox1.Selected(i) Then
Valor = Me.ListBox1.List(i)
Rango.Find(What:=Valor, LookAt:=xlWhole, After:=ActiveCell).Activate
End If
Next i
ActiveSheet.Protect Password:="Seguridad"

y para eliminar el registro elegido, estoy usando esta macro:

ActiveSheet.Unprotect Password:="Seguridad"
Pregunta = MsgBox("Está seguro de eliminar el registro?", vbYesNo + vbQuestion, "Sistema")
If Pregunta <> vbNo Then
    ActiveCell.EntireRow.Delete
End If
Call CmdApellidos_Click
ActiveSheet.Protect Password:="Seguridad"

El problema, me elimina el registro que está arriba del registro seleccionado.

1 Respuesta

Respuesta
1

Corregí la primer macro dejándola de este modo:

ActiveSheet.Unprotect Password:="Seguridad"
Cuenta = Me.ListBox1.ListCount
Set Rango = Range("A1").CurrentRegion
'el valor del elemento seleccionado
valor = ListBox1.Value
Rango.Find(What:=valor, LookAt:=xlWhole).Activate
ActiveSheet.Protect Password:="Seguridad"

Probala y si todo queda resuelto no olvides valorar la respuesta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas