Eliminar un item en un ListBox seleccionándolo y apretándo la tecla Delete

07/06/2007 - 00:48 por Insumos | Informe spam
Hola Gente del Foro:

Supongamos que tengo un ListBox con varios items. Yo selecciono un item
mediante el mouse. Es posible borrar dicho item del ListBox (vía código)
apretando la tecla, por ejemplo, "Delete" o "Suprimir", y que en el ListBox
luego quede solo con los demás items? Y es posible, de paso, eliminar de una
hoja un registro que este asociado a dicho item todo con el mismo
procedimiento?
Se me ocurre que tal vez puede ser un código del tipo Private Sub
ListBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) en el que al
apretrar la tecla con un valor Ascii determinado haga lo que yo quiera. De
todas maneras es solo una idea ya que no se me ocurre como escribir bien el
código.
Desde ya muchas gracias!

Mariano

CONTADURIA
 

Leer las respuestas

#1 Ivan
07/06/2007 - 01:15 | Informe spam
hola Mariano,

para la 1ª parte de tu consulta, eliminar un item del listbox, una
forma podria ser esta:

Private Sub ListBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger,
ByVal Shift As Integer)
With ListBox1
If .ListIndex > -1 Then If KeyCode = 46
Then .RemoveItem .ListIndex
End With
End Sub

OJO: echa un vistazo a la ayuda de RemoveItem por si tuvieras algun
posible inconveniente

para la 2ª parte creo que quizas deberias aportar mas datos, sobre
todo como cargas el listbox y su relacion con los campos de la hoja,
pero no creo que tengas ningun problema. Simplemente deberias añadir
la instruccion que eliminara el registro de la hoja (aqui depende de
lo que te comentaba, podrias usar find, el nº de fila, .) si se
cumple el condicional doble (.listindex y keycode)

espero te ayde

un saludo
Ivan

Preguntas similares