Saltar al contenido

liminar ítems de lista desplegable seleccionados


Antonio

Recommended Posts

publicado

Hola.

Inserta un módulo por favor y pega la siguiente sentencia:

Sub EliminarNumero()
    Dim numero As String
    Dim rng As Range
    numero = Sheets("lista").Range("A3").Value 'Obtiene el número seleccionado en la lista
    Set rng = Sheets("datos").Range("A3:A570")
    For Each c In rng 'Recorre el rango A3:A570 en la hoja "datos"
        If c.Value = numero Then 'Si el valor coincide con el número seleccionado
            c.ClearContents 'Borra el contenido de la celda
        End If
	Next c
	Sheets("lista").Range("A3").Select 
End Sub

Debería servirte.

Saludines

publicado

Gracias Israel, por responder. La macro que propones se ejecuta correctamente, pero tal vez no supe explicarme. Lo que requiero es que, al seleccionar un elemento de la lista desplegable, dicho elemento se elimine, incluida la fila del origen de datos de tal forma, que cuando se vaya a seleccionar otro elemento de la lista, sólo se muestren los elementos restantes sin que se muestre el espacio en blanco que correspondía a la fila que contenía el elemento eliminado. Supongo que esa eliminación deberá realizarse al desplegar nuevamente la lista para seleccionar un nuevo elemento y, por lo tanto, dentro de mi ignorancia, pienso que el código debe hacer referencia a un evento en la hoja que contenga la lista. Espero haber sido claro y seguir contando con tu ayuda. Reitero mi agradecimiento.

publicado

A

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("A3")) Is Nothing Then
        Select Case Range("A3")
            Case ""
            Case Else
                EliminarNumero
        End Select
    End If
End Sub
Private Sub EliminarNumero()
    Dim numero As String
    Dim rng As Range
    numero = Sheets("lista").Range("A3").Value 'Obtiene el número seleccionado en la lista
    Set rng = Sheets("datos").Range("A3:A570")
    For Each c In rng 'Recorre el rango A3:A570 en la hoja "datos"
        If c.Value = numero Then 'Si el valor coincide con el número seleccionado
            Hoja1.Cells(c.Row, 1).EntireRow.Delete ' Eliminamos fila
            Exit For
        End If
    Next c
    Sheets("lista").Range("A3").Select
    
End Sub

provechando el código de Israel Cassales  prueba de la siguiente manera:

Eliminar item de lista desplegable.xlsm

publicado

Muchísimas gracias, JSDJSD por brindarme tu solución, que es la que cumple con lo pretendido. Excelente. Demos el tema por concluido.

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.