Botão de Opção Excel VBA
In this Article
No VBA, é possível 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 é frequentemente usado em UserForms, mas também pode ser usado em uma planilha. Neste tutorial, você aprenderá a criar um botão de Opção, obter uma escolha do usuário no VBA e usá-lo no código.
Se você quiser aprender a criar uma caixa de seleção, clique aqui: Caixa de seleção VBA
Criar um Botão de Opção
Para inserir um botão de Opção na planilha, vá para a guia Desenvolvedor), clique em Inserir e, em Controles ActiveX, escolha Botão de Opção:
Imagem 1. Inserir um botão Opção na planilha
Quando você selecionar o botão de Opção que inseriu, poderá clicar em Propriedades na guia Desenvolvedor:
Imagem 2. Alterar as propriedades do Botão de Opção
Aqui você pode definir diferentes propriedades do Botão de Opção. Para começar, alteramos o atributo Name para optBotaoOpcao1. Agora, podemos usar o Botão de Opção com esse nome no código VBA.
Além disso, alteramos o texto que aparece ao lado do botão de Opção para Masculino. Para fazer isso, você precisa definir o atributo Caption.
Como queremos permitir que o usuário escolha o gênero, repetiremos todo o processo para outro botão de Opção. O segundo tem o nome optBotaoOpcao2, enquanto a legenda é Feminino. 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. Inserir o segundo botão de Opção
Obter um Botão de Opção Selecionado no VBA
A finalidade de um botão Opção é obter uma decisão do usuário. No exemplo, mostraremos como escrever Masculino na célula C3 se o botão de Opção 1 for escolhido ou Feminino se o segundo for escolhido. Cada botão de Opção tem seu evento Click que é acionado quando é escolhido.
Portanto, para o primeiro botão de Opção, precisamos colocar o seguinte código no evento Click do objeto optBotaoOpcao1:
Private Sub optBotaoOpcao1_Click()
If Planilha1.optBotaoOpcao1.Value = True Then
Planilha1.Range("C3") = "Masculino"
End If
End Sub
Da mesma forma, colocaremos esse código no evento Click do objeto optOptionButton2:
Private Sub optBotaoOpcao2_Click()
If Planilha1.optBotaoOpcao2.Value = True Then
Planilha1.Range("C3") = "Feminino"
End If
End Sub
O valor do botão de Opção está no atributo Value do objeto optBotaoOpcao1 ou optBotaoOpcao2. O valor do botão de Opção pode ser TRUE se ele for escolhido ou FALSE se não for escolhido.
Imagem 3. Retorna 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 Planilha1.optBotaoOpcao1.Value é verdadeiro, de modo que o resultado em C3 é Masculino.
Figura 4. Retorna Feminino se o segundo botão de Opção for escolhido
Da mesma forma que no exemplo anterior, o valor de C3 é alterado para Feminino, pois escolhemos o segundo botão de Opção. Nesse caso, o procedimento optBotaoOpcao2_Click() é acionado.
Usar um Botão Opção em um UserForm
Como mencionamos, o botão de Opção é usado com mais frequência em UserForms. Para explicar como fazer isso, primeiro vamos inserir um UserForm. No VBA Editor, clique com o botão direito do mouse no nome de módulo, clique em Inserir e escolha UserForm:
Imagem 5. Inserir um formulário de usuário
Para exibir os controles para inserção, é necessário ativar a Caixa de Ferramentas. Para fazer isso, clique no ícone Caixa de ferramentas na barra de ferramentas. Depois disso, você verá as janelas com todos os controles disponíveis. Você pode clicar no botão de Opção para criá-lo no Userform:
Imagem 6. Inserção de um botão Opção no Userform
Na janela de propriedades, alteramos a propriedade Name do botão Opção para optOptionButton1 e a propriedade Caption para Masculino. Da mesma forma, criamos outro botão Opção para Feminino. Quando executamos o Userform, obtemos dois botões Opção:
Imagem 7. Dois botões de Opção no formulário
Se você quiser obter um botão de Opção selecionado, precisará usar a mesma lógica de uma planilha, que foi explicada anteriormente neste artigo.