Propriedade ListBox.ItemsSelected (Access)

Use a propriedade ItemsSelected para retornar uma referência somente leitura à coleção ItemsSelected oculta. Essa coleção oculta pode ser usada para acessar dados nas linhas selecionadas de um controle de caixa de listagem com várias seleções.

Sintaxe

expressão. ItensSelecionados

Expressão Uma variável que representa um objeto ListBox .

Comentários

A coleção ItemsSelected é Diferentemente de outras coleções é uma coleção de Variants, em vez de objetos. Cada Variant é um índice inteiro que faz referência a uma linha selecionada em uma caixa de listagem ou caixa de combinação.

Use a coleção ItemsSelected em conjunto com a propriedade Column ou a propriedade ItemData para recuperar dados de linhas selecionadas em uma caixa de listagem ou caixa de combinação. Você pode listar a coleção ItemsSelected usando o para cada … Próximo instrução.

Por exemplo, se você tiver uma caixa de lista Funcionários em um formulário, poderá listar a coleção ItemsSelected e usar a propriedade ItemData do controle para retornar o valor da coluna vinculada para cada linha selecionada na caixa de lista.

Para habilitar a seleção múltipla de linhas em uma caixa de listagem, defina a propriedade MultiSelect como Simple ou Extended do controle.

A coleção ItemsSelected tem duas propriedades, as propriedades Count e Item e nenhum método.

Exemplo

O exemplo a seguir imprime o valor da coluna vinculada para cada linha selecionada em uma caixa de lista Nomes em um formulário Contatos . Para testar este exemplo, crie a caixa de listagem e defina sua propriedade BoundColumn conforme desejado e sua propriedade MultiSelect como Simple ou Extended. Alterne para Modo de exibição, selecione várias linhas na caixa de listagem e execute o código a seguir.

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

O exemplo a seguir usa o mesmo controle de caixa de lista, mas imprime os valores de cada coluna para cada linha selecionada na caixa de listagem, em vez de apenas os valores na coluna vinculada.

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

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.