24.08.2020 Views

Programando o Excel ® Vba Para Leigos - 2ª Ed 2013 NoDRM (1)

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Capítulo 18: Técnicas e Truques do UserForm 299

Se nenhum item da listagem for selecionado, a propriedade ListIndex

retorna -1. No entanto, esse nunca será o caso com essa caixa de

listagem em particular, pois o código no procedimento UserForm_Initialize

selecionou o primeiro item. Assim, sempre haverá um item selecionado,

se o usuário, de fato, não selecionar um mês.

A Figura 18-4 mostra como isto parece.

Figura 18-4:

Determinando

qual item

está

selecionado

em uma

caixa de

listagem.

APAPO DE ESPECIALIST

O primeiro item de uma caixa de listagem tem um ListIndex de 0, não 1

(como você poderia esperar). Esse é sempre o caso, ainda que você use

uma declaração Option Base 1 (Opção de Base 1) para mudar o limite

inferior padrão para arrays.

Este exemplo está disponível no site deste livro.

Determinando múltiplas seleções

Se a sua caixa de listagem for configurada para que o usuário possa

selecionar mais de um item, você descobrirá que a propriedade ListIndex

retorna apenas o último item selecionado. Para determinar todos os

itens selecionados, você precisa usar a propriedade Selected, a qual

contém um array.

LEMBRE-SE

Para permitir múltiplas seleções em uma caixa de listagem, configure a

propriedade MultiSelect para 1 ou 2. Isso pode ser feito usando a janela

Propriedades ou em tempo de execução, usando uma declaração VBA

como esta:

UserForm1.ListBox1.MultiSelect = 1

A propriedade MultiSelect tem três configurações possíveis. O significado

de cada uma é mostrado na Tabela 18-1.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!