Controle ListBox em formulários no Excel VBA: Principais propriedades e filtros personalizados com o controle TextBox
No desenvolvimento de aplicativos no Excel utilizando o Visual Basic for Applications (VBA), é comum a necessidade de criar formulários interativos para facilitar a entrada de dados e a interação com o usuário. Entre os controles disponíveis para uso em formulários, o controle ListBox desempenha um papel fundamental ao permitir a exibição de listas de opções para seleção. Neste artigo, vamos explorar as principais propriedades do controle ListBox e discutir a possibilidade de criar filtros personalizados utilizando o controle TextBox em formulários do Excel VBA.
O Controle ListBox em Formulários do Excel VBA
O controle ListBox é amplamente utilizado para exibir uma lista de opções para o usuário selecionar em formulários do Excel VBA. Com o controle ListBox, podemos exibir itens em uma única coluna ou em múltiplas colunas, permitindo uma apresentação personalizada dos dados.
Principais Propriedades do Controle ListBox
Ao utilizar o controle ListBox em formulários do Excel VBA, temos acesso a diversas propriedades que permitem a personalização do seu comportamento e aparência. Vamos explorar algumas das principais propriedades do controle ListBox:
1. Propriedade List
A propriedade List é usada para definir ou retornar a lista de itens exibidos no controle ListBox. Essa propriedade pode ser preenchida com uma matriz de valores, por meio da vinculação a um intervalo de células no Excel ou em tempo de execução através do método .addItem
2. Propriedade ColumnCount e ColumnWidths
A propriedade ColumnCount especifica o número de colunas exibidas na ListBox. Por padrão, a ListBox exibe uma única coluna, mas podemos definir a propriedade ColumnCount para exibir mais colunas. Por exemplo:
ListBox1.ColumnCount = 2
A propriedade ColumnWidths é usada para definir a largura das colunas exibidas na ListBox. Podemos atribuir um valor fixo para cada coluna, separados por ponto e vírgula. Por exemplo:
ListBox1.ColumnWidths = “100;80”
3. Propriedade MultiSelect
A propriedade MultiSelect controla se é permitida a seleção de um único item (fmMultiSelectSingle) ou vários itens (fmMultiSelectMulti) na ListBox. Podemos definir essa propriedade de acordo com a necessidade do formulário. Por exemplo:
ListBox1.MultiSelect = fmMultiSelectMulti
4. Propriedade Value
A propriedade Value retorna ou define o valor selecionado na ListBox. Se a propriedade MultiSelect estiver definida como fmMultiSelectSingle, a propriedade Value retornará o valor do item selecionado. No caso de múltipla seleção, a propriedade Value retornará uma matriz com os valores dos itens selecionados.
Criando Filtros Personalizados com o Controle TextBox
Além das propriedades do controle ListBox, podemos aproveitar a interação com outros controles para criar filtros personalizados e dinâmicos. O controle TextBox pode ser utilizado para filtrar os itens exibidos na ListBox com base no texto inserido pelo usuário.
Para implementar essa funcionalidade, podemos utilizar o evento Change do controle TextBox. Esse evento é acionado sempre que o texto no TextBox é alterado. O código percorre todos os itens da ListBox e verifica se o texto digitado no TextBox está presente em cada item da lista. Se for o caso, o item correspondente é adicionado à ListBox.
O controle ListBox é uma ferramenta poderosa para exibir listas de opções em formulários do Excel VBA. Suas propriedades permitem personalizar a aparência e o comportamento da ListBox de acordo com as necessidades do aplicativo. Além disso, a combinação do controle ListBox com o controle TextBox possibilita a criação de filtros personalizados, permitindo que o usuário encontre rapidamente os itens desejados.
Ao utilizar as propriedades do controle ListBox e explorar a interação com outros controles, como o TextBox, você pode criar formulários interativos e eficientes no Excel VBA, aprimorando a experiência do usuário e facilitando a entrada e manipulação de dados.
Nas aulas abaixo ensino de forma prática como inserir itens em um controle ListBox e como realizar os filtros personalizados como Nome e Data através de uma TextBox
Até o próximo SelfBlog!
Fique ligado no nosso canal do Youtube para mais conteúdo de Excel VBA!