No VBA, você pode criar um Botão de opção para permitir que um usuário escolha entre várias opções. Um botão de opção é freqüentemente usado em formulários do usuário, mas também pode ser usado em uma planilha. Neste tutorial, você aprenderá como criar um botão de opção, obter uma escolha do usuário no VBA e usá-la no código.
Se você quiser aprender como criar uma caixa de seleção, clique aqui: Caixa de seleção VBA
Crie um botão de opção
Para inserir um botão de opção na planilha, você precisa ir para o Guia do desenvolvedor, clique Inserir e em Controles ActiveX escolha Botão de opção:
Imagem 1. Insira um botão de opção na planilha
Ao selecionar o botão de opção que inseriu, você pode clicar em Propriedades debaixo de Guia do desenvolvedor:
Imagem 2. Altere as Propriedades do botão de opção
Aqui você pode definir diferentes propriedades do botão Opção. Para o início, mudamos o atributo Nome para optOptionButton1. Agora, podemos usar o botão Opção com este nome no código VBA.
Além disso, alteramos o texto que aparece ao lado do botão Opção para Masculino. Para fazer isso, você precisa definir o atributo Rubrica.
Como queremos permitir que um usuário escolha o sexo, vamos repetir todo o processo para outro botão de opção. O segundo tem nome optOptionButton2, enquanto a legenda é Fêmea. Você também pode criar um novo botão de opção copiando o existente e alterando as propriedades. Agora nossa planilha tem dois botões de opção:
Imagem 3. Insira o segundo botão de opção
Obtenha um botão de opção selecionado no VBA
O objetivo de um botão de opção é obter uma decisão do usuário. Mostraremos no exemplo como escrever Masculino na célula C3 se o botão de opção 1 for escolhido ou Fêmea se o segundo for escolhido. Cada botão de opção tem seu evento que dispara quando é escolhido - Clique.
Portanto, para o primeiro botão de opção, precisamos colocar o seguinte código no evento Clique do objeto optOptionButon1:
123456789 | Private Sub optOptionButton1_Click ()Se Sheet1.optOptionButton1.Value = True entãoSheet1.Range ("C3") = "Masculino"Fim seEnd Sub |
Da mesma forma, colocaremos este código no evento Clique do objeto optOptionButton2:
123456789 | Private Sub optOptionButton2_Click ()Se Sheet1.optOptionButton2.Value = True ThenSheet1.Range ("C3") = "Fêmea"Fim seEnd Sub |
O valor do botão Opção está noValor atributo do objeto optOptionButton1 ou optOptionButton2. O valor do botão Opção pode ser verdadeiro se for escolhido ou falso se não for escolhido.
Imagem 3. Retorno Masculino se o primeiro botão de opção for escolhido
Como você pode ver na Imagem 3, clicamos no primeiro botão Opção. Portanto, o valor de Sheet1.optOptionButton1.Value é verdade, então o resultado em C3 é Masculino.
Imagem 4. Retorne Feminino se o segundo botão de opção for escolhido
Da mesma forma que no exemplo anterior, o valor de C3 é alterado para Fêmea, pois escolhemos o segundo botão de opção. Neste caso, o procedimento optOptionButton2_Click () é acionado.
Use um botão de opção em um formulário de usuário
Como mencionamos, o botão de opção é mais frequentemente usado 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 5. 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 noBotão de opção para criá-lo no formulário do usuário:
Imagem 6. Insira um botão de opção no formulário do usuário
Na janela de propriedades, alteramos o nome do botão Opção para optOptionButton1 e a legenda para Masculino. Da mesma forma, criamos outro botão de opção para mulheres. Quando executamos o formulário de usuário, obtemos dois botões de opção:
Imagem 7. Dois botões de opção no Userform
Se você deseja obter um botão de opção selecionado, você precisa usar a mesma lógica de uma planilha, que é explicada anteriormente neste artigo.