Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Use la propiedad ItemsSelected para devolver una referencia de solo lectura a la colección oculta ItemsSelected . Esta colección oculta puede usarse para ontener acceso a los datos de las filas seleccionadas de un control de cuadro de lista de selección múltiple.
Sintaxis
más sencilla.ItemsSelected
expresión Variable que representa un objeto ListBox .
Comentarios
La colección ItemsSelected es diferente de otras colecciones en cuanto que es una colección de valores de tipo Variants en lugar de objetos. Cada valor Variant es un índice entero que hace referencia a una fila seleccionada en un cuadro de lista o cuadro combinado.
Use la colección ItemsSelected en combinación con la propiedad Column o la propiedad ItemData para recuperar datos de las filas seleccionadas en un cuadro de lista o cuadro combinado. Puede enumerar la colección ItemsSelected mediante la For Each... Siguiente instrucción.
Por ejemplo, si tiene un cuadro de lista Empleados en un formulario, puede enumerar la colección ItemsSelected y usar la propiedad ItemData del control para devolver el valor de la columna delimitada de cada fila seleccionada en el cuadro de lista.
Para habilitar la selección múltiple de filas en un cuadro de lista, establezca la propiedad MultiSelect en Simple o extendida del control.
La colección ItemsSelected tiene dos propiedades, las propiedades Count y Item , y ningún método.
Ejemplo
En el ejemplo siguiente se imprime el valor de la columna dependiente de cada fila seleccionada en un cuadro de lista Nombres de un formulario de contactos . Para probar este ejemplo, cree el cuadro de lista y establezca su propiedad BoundColumn como quiera y su propiedad MultiSelect en Simple o Extendida. Cambiar a la vista Formulario, seleccionar varias filas en el cuadro de lista y ejecutar el código siguiente.
Sub BoundData()
Dim frm As Form, ctl As Control
Dim varItm As Variant
Set frm = Forms!Contacts
Set ctl = frm!Names
For Each varItm In ctl.ItemsSelected
Debug.Print ctl.ItemData(varItm)
Next varItm
End Sub
En el ejemplo siguiente se utiliza el mismo control de cuadro de lista, pero se imprimen los valores de cada columna de cada fila seleccionada en el cuadro de lista, en lugar de solo los valores de la columna delimitada.
Sub AllSelectedData()
Dim frm As Form, ctl As Control
Dim varItm As Variant, intI As Integer
Set frm = Forms!Contacts
Set ctl = frm!Names
For Each varItm In ctl.ItemsSelected
For intI = 0 To ctl.ColumnCount - 1
Debug.Print ctl.Column(intI, varItm)
Next intI
Debug.Print
Next varItm
End Sub
Soporte técnico y comentarios
¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.