Para dante - Eliminar Registro de hoja de excel desde listbox

Estimado Dante:

Tengo un listbox de 18 columnasque se cargan de la Tabla1 que esta en la hoja LVT . La columna 18 contiene el numero de fila( se calcula con =fila()-1 el -1 es porque la tabla tiene encabezado).

Cargamos os datos con este código:

Dim i, items, xFactura 'variables globales

Private Sub UserForm_Initialize()
'Le digo cuántas columnas
ListBox1.ColumnCount = 14' se cargan solo 14 de las 18 columnas
'Asigno el ancho a cada columna
Me.ListBox1.ColumnWidths = "60;60;60;60;60;60;60;60;60;60;60;60;60;60"
'El origen de los datos es la Tabla1 de la hoja LVT
ListBox1.RowSource = "Tabla1"
End Sub

Luego después de cargado el listbox. Al hacerle click a un registro este se guarda en xFactura

Private Sub ListBox1_Click()

'Determino que cuando selecciono un item,
'el valor seleccionado, sea asignado a la variable xEmpleado

items = Me.ListBox1.ListCount
For i = 0 To items - 1
If Me.ListBox1.Selected(i) Then
xFactura = Me.ListBox1.List(i)
End If
Next i

End Sub

por ultimo al hacer click al boton eliminar se ejecuta este codigo:

Private Sub btn_Eliminar_Click()
Dim Fila As Integer
Dim Final As Integer

'Buscamoos la última fila
Fila = 2
Do While Sheets("LVT").Cells(Fila, 1) <> ""
Fila = Fila + 1
Loop
Final = Fila - 1

If MsgBox("¿Seguro que quiere eliminar este Registro?", vbQuestion + vbYesNo) = vbYes Then
For Fila = 2 To Final
If Sheets("LVT").Cells(Fila, 1) = xEmpleado Then
Sheets("LVT").Cells(Fila, 1).EntireRow.Delete
Exit For
End If
Next
MsgBox "Registro eliminado", vbInformation + vbOKOnly
Else
Exit Sub
End If
End Sub

El código funciona bien pero cuando la columna 1 no tiene datos no elimina nada o cuando tienen datos similares elimina el registro en el orden en que aparescen. Necesito modificar el código para que elimine los registros tomando en cuenta los datos de la columna 18. Como esta columna numera las filas nunca se repetirán.

¿

Podrías ayudarme?

Gracias

1 respuesta

Respuesta
1

Si es un nuevo archivo con un nuevo formulario, envíame el archivo.

¿Quieres eliminar varios registros o solamente el un registro seleccionado?

¿Quieres eliminar el registro cuando se encuentre filtrado en el listbox?

Espero tus comentarios. Recuerda poner tu nombre en el asunto del correo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas