Obtener datos de un listbox con selección múltiple

23/12/2006 - 21:19 por beatriz.lopez71 | Informe spam
Saludos a todos los participantes de este grupo. Me dirijo a vosotros
en busca de una posible respuesta a una duda que tengo.

Estoy intentando aprender a utilizar listbox en documentos de excel,
pero me he quedado encallada en un punto... Al crear un listbox con
selección múltiple, no consigo entender cómo recoger los elementos
seleccionados. Es decir, me gustaría que si selecciono 4 ó 5 (o las
que sea) opciones, estas se copiaran en alguna/s celdas desde las que
poder trabajar con ellas.

He intentado encontrar información en la ayuda de excel y sólo hace
una vaga referencia a la función selected. Al intentar profundizar en
esta función, no he logrado entender de qué me están hablando.

Por favor, si podeis responder, contadme cómo funciona dicha función,
o ponedme algun ejemplo.

Muchas gracias y felices fiestas.

Bea

Preguntas similare

Leer las respuestas

#1 Juan M
23/12/2006 - 22:50 | Informe spam
Hola Beatriz

Para obtener el valor de una lista que esta en una posicion se emplea la
propiedad List, para saber si esta seleccionada empleas la propiedad
selected, que devuelve un valor cerdadero o falso.

Para saber que elementos estan seleccionados y cuales no puedes emplear el
siguiente codigo

Private Sub CommandButton1_Click()
Dim c As integer
For c = 0 To ListBox1.ListCount - 1
Debug.Print ListBox1.List(c), ListBox1.Selected(c)
Next c
End Sub

Si tiuenes cualquier duda comentas
Un saludo y felices fiestas
Juan


escribió en el mensaje
Saludos a todos los participantes de este grupo. Me dirijo a vosotros
en busca de una posible respuesta a una duda que tengo.

Estoy intentando aprender a utilizar listbox en documentos de excel,
pero me he quedado encallada en un punto... Al crear un listbox con
selección múltiple, no consigo entender cómo recoger los elementos
seleccionados. Es decir, me gustaría que si selecciono 4 ó 5 (o las
que sea) opciones, estas se copiaran en alguna/s celdas desde las que
poder trabajar con ellas.

He intentado encontrar información en la ayuda de excel y sólo hace
una vaga referencia a la función selected. Al intentar profundizar en
esta función, no he logrado entender de qué me están hablando.

Por favor, si podeis responder, contadme cómo funciona dicha función,
o ponedme algun ejemplo.

Muchas gracias y felices fiestas.

Bea
Respuesta Responder a este mensaje
#2 Ivan
23/12/2006 - 23:47 | Informe spam
hola Bea

por lo que dices, parece que el listbox lo incrustas directamente en la
hoja, si es de la barra de controles(creo), creo que te podria valer
algo parecido a esto ->

suponiendo ->

a) que el listbox se llama ListBox1 y ya lo has cargado con los
datos,
b) que los datos seleccionados quieres cargarlos pej. a partir de A2
en las siguientes filas, osea en a2, a3, a4, ,an


en el evento Change del listbox

Private Sub ListBox1_Change()
Dim celda As Range, fin As Long
fin = Range("a65536").End(xlUp).Row
With ListBox1
If .Selected(.ListIndex) Then
Range("a" & fin + 1) = .List(.ListIndex)
Else
For Each celda In Range("a1:a" & fin)
If celda = .List(.ListIndex) Then
Range("a" & celda.Row + 1 & ":a" & fin + 1).Cut celda
Exit For
End If
Next
End If
End With
End Sub

ahora no tengo mucho tiempo para explicarlo, pero (si quieres) echale
un vistazo, corre unas pruebas y con las dudas comentas

un saludo y hasta pronto
Ivan
Respuesta Responder a este mensaje
#3 Ivan
23/12/2006 - 23:57 | Informe spam
hola de nuevo, un olvido ->

para probarlo deberia haber al menos datos en a1 (pej titulo del campo)

no habia visto el mensaje de Juan, asi ya tienes mas campo de estudio.
En mi propuesta los datos se cargarian en tiempo real en las celdas,
osea al seleccionar/deseleccionar

un saludo a los dos y felices fiestas y mejor año
Ivan
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida