publicado el 27 de febrero2 años Hola a todos. ¿Cómo crear una macro que permita eliminar (no ocultar) los ítems de una lista desplegable una vez estos hayan sido seleccionados? Muchas gracias por su ayuda. Subo un archivo para mayor comprensión. Eliminar item de lista desplegable.xlsx
publicado el 27 de febrero2 años 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 el 28 de febrero2 años Autor 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 el 28 de febrero2 años 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 el 28 de febrero2 años Autor Muchísimas gracias, JSDJSD por brindarme tu solución, que es la que cumple con lo pretendido. Excelente. Demos el tema por concluido.
publicado el 28 de febrero2 años Hola @JSDJSD gracias por ampliar la solución que incluyo el solicitante Antonio, la diferencia de horario y actividades personales no siempre permiten una conexión continua. Saludines.
Hola a todos. ¿Cómo crear una macro que permita eliminar (no ocultar) los ítems de una lista desplegable una vez estos hayan sido seleccionados? Muchas gracias por su ayuda. Subo un archivo para mayor comprensión.
Eliminar item de lista desplegable.xlsx