Eliminar los registros seleccionados en el listbox

Después de filtrar, al necesitar de usar el Botton Eliminar del formulario "frmEliminar" Eliminar PERO CREO NO PODER SER LA LÍNEA porque eliminando por ejemplo la línea 18 de la página 2 también se elimina la de la página 1 y no puede ser.

Por otro lado hay que conservar la cantidad de líneas entre línea 11 y 46, al eliminar el contenido de la línea de una página (porque no puede eliminarse línea por la existencia de 2 páginas) las líneas POSTERIORES A LA ELIMINADA, subir el contenido para no existir línea vacía entremedia

Eliminar contenido (datos de la línea seleccionada en el ListBox, (eliminar en el ListBox y en la página) para nuevm filtr oio así lo necesitar .

1 respuesta

Respuesta
1

Para eliminar y volver a filtrar:

Private Sub cbtElimi_Click()
'Por.Dante Amor
    'Eliminar el registro
    If Lista2.ListIndex = -1 Then
        MsgBox "No hay registros"
        Exit Sub
    End If
    seleccionado = False
    For i = 0 To Lista2.ListCount - 1
        If Lista2.Selected(i) Then
            seleccionado = True
            Exit For
        End If
    Next
    If seleccionado = False Then
        MsgBox "Selecciona un registro"
        Exit Sub
    End If
    Pregunta = MsgBox("Está seguro para eliminar el registro?", vbYesNo + vbQuestion, "Eliminación")
    If Pregunta = vbNo Then Exit Sub
    '
    If OptionButton1 Then
        c1 = "B": c2 = "K": c3 = "D"
    ElseIf OptionButton2 Then
        c1 = "M": c2 = "V": c3 = "O"
    End If
    '
    Application.ScreenUpdating = False
    For i = Lista2.ListCount - 1 To 0 Step -1
        If Lista2.Selected(i) Then
            fila = Lista2.List(i, 10)
            If fila < 46 Then
                Range(c1 & fila + 1 & ":" & c2 & 46).Copy Range(c1 & fila)
            End If
            Range(c1 & 46 & ":" & c2 & 46).ClearContents
        End If
    Next
    For i = 11 To 46
        Range("D" & i & ":I" & i).Merge
        Range("O" & i & ":T" & i).Merge
    Next
    Call FiltrarLista2(c1, c2, c3)
    Application.ScreenUpdating = True
End Sub

Sal u dos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas