Como usar o ComboBox no formulário de usuário do VBA Excel?

Índice:

Anonim

Uma caixa de combinação em um formulário do usuário é como um menu suspenso, que pode ser usado para escolher uma opção entre as opções disponíveis. É como o menu suspenso que criamos usando a validação de dados em planilhas.

Na maioria dos formulários digitais, você deve ter visto pelo menos uma caixa de combinação. Pode ter sido para selecionar um estado de uma lista de estados, um curso de uma lista de cursos, um país de uma lista de países, etc. Neste artigo, aprenderemos como adicionar uma combobox em um formulário de usuário VBA, como para inicializar o combobox com valores e como recuperar o valor do combobox.

Adicionando uma ComboBox ao Formulário do Usuário

Para adicionar uma combobox a um formulário de usuário, primeiro você precisa ter um formulário de usuário. Dah !.

Portanto, abra o VBE usando CTRL + F11. Clique com o botão direito na pasta de trabalho, vá em inserir e clique em Userform. Você adicionou um formulário de usuário. Você pode ler mais sobre formulários de usuário em VBA aqui.

Agora, na caixa de ferramentas, escolha a combobox. É a quarta opção na linha superior. Se você não consegue ver a caixa de ferramentas. Vá para Exibir no menu, clique em Caixa de ferramentas. A caixa de ferramentas aparecerá.

Eu adicionei um rótulo de estados porque este combobox conterá uma lista de alguns estados e um botão de envio para enviar o formulário.

Como inicializar um combobox em formato de usuário?

Essa é a parte em que a maioria das pessoas comete erros. Às vezes, os alunos escrevem o código para carregar os valores na combobox e, em seguida, os botões de envio. E quando eles carregam o formulário do usuário, o combobox não mostra nenhum valor.

Para carregar a combobox, você deve escrever o código, antes de carregar o formulário do usuário. Isso pode ser feito no módulo, c ou no botão onde você carrega o formulário. O código para carregar a lista combobox deve vir antes do comando formname.show.

Carregando Combobox na sub-rotina de chamada do UserForm

Digamos que eu queira codificar permanentemente algum array na caixa de combinação de estados. Então, vou escrever uma sub-rotina que irá carregar o formulário do usuário para preencher as informações. Veja o código abaixo.

Sub load_userform () states = Array ("Delhi", "UP", "UK", "Gujrat", "Kashmir") UserForm1.ComboBox1.List = estados UserForm1.Show End Sub 

Eu defino uma matriz "estados" que contém alguns nomes de estados indianos. Agora eu uso o nome do formulário de usuário para acessar a combobox, já que a combobox faz parte do formulário de usuário.

O nome do meu formulário de usuário é userform1. E o nome da combobox é combobox1. Esses são nomes padrão. Você pode alterá-los na janela de propriedades.

Em seguida, inicializo a propriedade list da combobox com estados.

E então eu mostro o userform1 usando o comando show.

Quando você executa o código acima, a combobox terá todos os estados listados.

Inicializando o Combobox usando o evento UserForm_Initialize ().

Outro método de carregar componentes combobox no formulário do usuário é usar o evento do formulário do usuário Initialize. Este evento é executado antes do carregamento do formulário do usuário. Qualquer coisa que você quiser fazer antes de carregar o formulário do usuário, você pode fazer aqui. Uma dessas coisas é carregar elementos combobox.

Portanto, clique duas vezes no formulário do usuário para abrir a área de codificação no objeto formulário do usuário. Agora, no menu suspenso à esquerda, selecione o formulário do usuário. Em seguida, no menu suspenso à direita, selecione inicializar.

Um subnome vazio UserForm_Initialize () será inserido. Qualquer coisa escrita neste sub será executado antes que o formulário do usuário apareça.

Então, escrevemos o código de inicialização para combobox aqui.

Private Sub UserForm_Initialize () states = Array ("Delhi", "UP", "UK", "Gujrat", "Kashmir") UserForm1.ComboBox1.List = states End Sub 

Observe que não temos o comando userform1.show aqui. Ainda está nesse módulo. Essa sub-rotina será usada para colocar nosso formulário de usuário na tela.

Sub load_userform () UserForm1.Show End Sub 

Assim, os usuários executarão load_userform sub usando algum comando, botão ou elemento atribuído a macro. Conforme o compilador executa o comando code userform1.show, ele executa imediatamente o evento useforma_initialize (). Depois, ele mostra o formulário do usuário aos usuários.

Notas:

Se você escrever o código para inicializar a combobox com os valores no botão de comando 1 clique, a combobox não mostrará nada.

Para inicializar a combobox com valores, carregue-o em qualquer evento que ocorra antes que o usuário alcance a combobox para preencher.

Recuperando valor de ComboBox

Portanto, usamos formulários para obter algumas informações. E para usar essas informações, precisamos recuperá-los. Para obter qualquer valor da combobox do formulário do usuário, usamos a propriedade combobox.value. Geralmente, recuperamos os valores dos elementos do formulário assim que o usuário preenche o formulário e o envia usando o botão de envio. Portanto, podemos usar o evento commandbutton_click. Portanto, insira um botão de comando e escreva submit nele, se ainda não o tiver. Agora clique duas vezes nele e você estará dentro do evento commandButton_click.

Agora crie uma variável para armazenar o valor. Salve em uma folha, se quiser. Finalmente saia do formulário usando o comando Unload Me. Conforme mostrado no código abaixo.

Private Sub CommandButton1_Click () State = ComboBox1.Value ThisWorkbook.Worksheets ("sheet1"). Range ("A1") = Estado Unload Me End Sub 

Então sim pessoal, é assim que você usa combobox em formulários de usuário do VBA. Espero ter sido explicativo e direto ao ponto. Se você tiver alguma dúvida sobre este tópico ou qualquer outra questão relacionada ao VBA, pergunte-me na seção de comentários abaixo.

Introdução aos Formulários de Usuário do Excel VBA| Explicarei como criar um formulário no Excel, como usar a caixa de ferramentas VBA, como lidar com as entradas do usuário e, finalmente, como armazenar as entradas do usuário. Percorreremos esses tópicos usando um exemplo e um guia passo a passo.

Variáveis ​​VBA no Excel| VBA significa Visual Basic for Applications. É uma linguagem de programação da Microsoft. É usado com aplicativos do Microsoft Office, como MSExcel, MS-Word e MS-Access, enquanto as variáveis ​​VBA são palavras-chave específicas.

Escopo de Variável Excel VBA| Em todas as linguagens de programação, temos especificadores de acesso à variável que definem de onde uma variável definida pode ser acessada. O Excel VBA não é exceção. O VBA também tem especificadores de escopo.

Argumentos ByRef e ByVal | Quando um argumento é passado como um argumento ByRef para uma subfunção ou função diferente, a referência da variável real é enviada. Quaisquer alterações feitas na cópia da variável, serão refletidas no argumento original.

Exclua planilhas sem prompts de confirmação usando VBA no Microsoft Excel | Como está excluindo planilhas usando o VBA, você sabe o que está fazendo. Você gostaria de dizer ao Excel para não mostrar este aviso e excluir a maldita planilha.

Adicionar e salvar uma nova pasta de trabalho usando VBA no Microsoft Excel 2016| Neste código, primeiro criamos uma referência a um objeto de pasta de trabalho. E então o inicializamos com um novo objeto de pasta de trabalho. A vantagem dessa abordagem é que você pode realizar operações nesta nova pasta de trabalho facilmente. Como salvar, fechar, excluir, etc.

Exibir uma mensagem na barra de status do Excel VBA| A barra de status no Excel pode ser usada como um monitor de código. Quando seu código VBA é longo e você executa várias tarefas usando o VBA, geralmente desativa a atualização da tela para não ver a tela piscando.

Desativar mensagens de aviso usando VBA no Microsoft Excel 2016| Este código não apenas desabilita alertas VBA, mas também aumenta a eficiência de tempo do código. Vamos ver como.

Artigos populares:

50 atalhos do Excel para aumentar sua produtividade | Torne sua tarefa mais rápida. Esses 50 atalhos farão você trabalhar ainda mais rápido no Excel.

A função VLOOKUP no Excel | Esta é uma das funções mais usadas e populares do Excel, que é usada para pesquisar valores em diferentes intervalos e planilhas.

CONT.SE no Excel 2016 | Conte valores com condições usando esta função incrível. Você não precisa filtrar seus dados para contar valores específicos. A função Countif é essencial para preparar seu painel.

Como usar a função SUMIF no Excel | Esta é outra função essencial do painel. Isso ajuda você a somar valores em condições específicas.