VBA Listbox

No VBA, você pode criar um Listbox onde um usuário pode escolher uma das opções listadas. A caixa de listagem é freqüentemente usada em formulários do usuário, mas também pode ser usada em uma planilha. Neste tutorial, você aprenderá como criar, preencher e excluir uma caixa de listagem. Você também verá como obter uma escolha do usuário no VBA e usá-la no código.

Se você deseja aprender a criar uma ComboBox, clique aqui: VBA ComboBox

Se você quiser aprender como criar uma caixa de seleção, clique aqui: Caixa de seleção VBA

Crie uma caixa de listagem

Para inserir uma caixa de listagem na planilha, você precisa ir para o Guia do desenvolvedor, clique Inserir e em Controles ActiveX escolha List Box:

Imagem 1. Insira uma caixa de listagem na planilha

Ao selecionar a caixa de listagem que inseriu, você pode clicar em Propriedades debaixo de Guia do desenvolvedor:

Imagem 2. Alterar as propriedades da caixa de listagem

Aqui você pode definir diferentes propriedades da caixa de listagem. Para o início, mudamos o atributo Nome para lstListBox. Agora, podemos usar a caixa de listagem com este nome no código VBA.

Preencher uma caixa de listagem no código VBA

Primeiro, precisamos preencher a caixa de listagem com valores. Na maioria dos casos, uma caixa de listagem precisa ser preenchida quando a pasta de trabalho é aberta. Por causa disso, precisamos colocar um código para preencher a caixa de listagem no objeto Livro de exercícios, procedimento Abrir. Este procedimento é executado sempre que um usuário abre a pasta de trabalho. Aqui está o código:

123456789 Com Sheet1.lstListBox.Adicionar item "John".Adicionar item "Michael".Adicionar item "Jennifer".Adicionar item "Lilly".Adicionar item "Robert"Terminar com

Como você pode ver na Imagem 3, preenchemos nossa caixa de listagem com 5 nomes (John, Michael, Jennifer, Lilly e Robert):

Imagem 3. Preencher a caixa de listagem em VBA

Preencher uma caixa de listagem a partir de um intervalo de células

Outra forma possível de preencher uma caixa de listagem é permitir que um usuário faça isso. Uma caixa de listagem pode ser vinculada ao intervalo de células. Portanto, toda vez que um usuário inserir um novo valor no intervalo de células, a caixa de listagem será atualizada com esse valor.

Se você quiser habilitar isso, você deve ir para o Propriedades da ListBox e definir o atributo ListFillRange:

Imagem 4. Preencha a caixa de listagem a partir do intervalo de células

Vinculamos nossa caixa de listagem ao intervalo E2: E5, onde colocamos os nomes que desejamos (Nathan, Harry, George, Roberta). Como resultado, a caixa de listagem agora é preenchida com esses nomes.

Obtenha um item selecionado de uma caixa de listagem no VBA

O objetivo de uma caixa de listagem é obter a escolha do usuário. Para recuperar um valor selecionado por um usuário, você precisa usar este código:

123 Dim strSelectedItem As VariantstrSelectedItem = Sheet1.lstListBox.Value

A seleção de usuários está no atributo Valor do Sheet1.lstListbox objeto. Este valor é atribuído à variável strSelectedItem:

Imagem 5. Obtenha um valor selecionado da caixa de listagem em VBA

Nós selecionamos atormentar na caixa de listagem e executou o procedimento. Como você pode ver na Imagem 5, o valor do strSelectedItem é atormentar, que é o valor que selecionamos. Além disso, você pode processar essa variável no código.

Limpar uma caixa de listagem

Para limpar uma caixa de listagem no VBA, você precisa usar Claro método de Sheet1.lstListBox objeto. Isso excluirá todos os itens da caixa de listagem. Aqui está o código:

1 Sheet1.lstListBox.Clear

Quando executamos o código, obtemos a caixa de listagem vazia:

Imagem 6. Limpe a caixa de listagem

Use uma caixa de listagem em um formulário de usuário

Como mencionamos, a caixa de listagem é usada com mais frequência em formulários do usuário. Para explicar como você pode fazer isso, primeiro inseriremos um formulário de usuário. No editor VBA, clique com o botão direito no nome do módulo, clique em Inserir e escolher UserForm:

Imagem 7. Insira um formulário de usuário

Para exibir os controles de inserção, você precisa habilitar o Caixa de ferramentas. Para fazer isso, clique noCaixa de ferramentas ícone na barra de ferramentas. Depois disso, você terá as janelas com todos os controles disponíveis. Você pode clicar em ListBox para criá-lo no formulário do usuário.

Imagem 8. Insira uma caixa de listagem no formulário do usuário

Vamos nomear o ComboBox cmbComboBox. Para preenchê-lo com valores, precisamos colocar o seguinte código no método Inicializar do objeto UserForm:

12345678910111213 Sub UserForm_Initialize privado ()Com UserForm1.lstListBox.Adicionar item "John".Adicionar item "Michael".Adicionar item "Jennifer".Adicionar item "Lilly".Adicionar item "Robert"Terminar comEnd Sub

Este código é acionado sempre que um usuário executa o formulário de usuário e preenche a caixa de listagem com estes 5 nomes:

Imagem 9. A caixa de listagem com valores no formulário do usuário

Se você deseja obter o valor selecionado do ComboBox, você precisa usar a mesma lógica para o Combobox em uma planilha, que é explicada anteriormente neste artigo.

Você vai ajudar o desenvolvimento do site, compartilhando a página com seus amigos

wave wave wave wave wave