Skip to main content

Kutools para Office — Uma Suíte. Cinco Ferramentas. Aumente sua Produtividade.

Como desmarcar outra caixa de seleção quando uma caixa de seleção é marcada no Excel?

Author Siluvia Last modified

Em muitos cenários práticos, como gerenciar uma longa lista de compras no Excel, você pode encontrar situações em que deseja garantir que apenas uma opção possa ser selecionada dentro de uma categoria ou grupo específico. Por exemplo, se certas categorias excederem o orçamento definido, pode ser necessário reselecionar itens para que apenas um permaneça marcado em cada grupo. Gerenciar manualmente caixas de seleção em grandes listas pode ser ineficiente e propenso a erros, especialmente à medida que o número de categorias aumenta. Para simplificar esse processo e reduzir erros, você pode configurar o Excel para que, ao marcar uma nova caixa de seleção dentro de um grupo, a anteriormente selecionada seja automaticamente desmarcada, garantindo apenas uma seleção por categoria a qualquer momento. Este artigo fornece um guia passo a passo sobre como alcançar isso, tornando seu fluxo de trabalho mais eficiente e confiável.


Desmarque outra caixa de seleção quando uma nova caixa de seleção for marcada com código VBA

Para ilustrar o processo, considere uma situação como mostrado no vídeo acima. Você tem dez caixas de seleção rotuladas de CheckBox1 a CheckBox10, organizadas em três grupos representando diferentes categorias de compra.

✅ Estrutura do grupo:

  • Grupo 1: CheckBox1, CheckBox2, CheckBox3
  • Grupo 2: CheckBox4, CheckBox5, CheckBox6, CheckBox7
  • Grupo 3: CheckBox8, CheckBox9, CheckBox10

Dentro de cada grupo, apenas uma caixa de seleção deve ser selecionada por vez. Quando uma nova caixa de seleção é marcada, as outras do mesmo grupo são automaticamente desmarcadas – semelhante ao comportamento dos botões de rádio, mas usando caixas de seleção.

🧩 Passos para aplicar a solução VBA:

  1. Abrir o Editor de VBA: Clique com o botão direito na aba da planilha onde as caixas de seleção estão colocadas, depois escolha Ver Código.
  2. View Code menu
  3. Cole o seguinte código na janela de código da planilha:
  4. Dim xBol As Boolean
    'Updated by Extendoffice
    
    Private Sub CheckBox1_Change(): SetCheckBoxes "CheckBox1": End Sub
    Private Sub CheckBox2_Change(): SetCheckBoxes "CheckBox2": End Sub
    Private Sub CheckBox3_Change(): SetCheckBoxes "CheckBox3": End Sub
    Private Sub CheckBox4_Change(): SetCheckBoxes "CheckBox4": End Sub
    Private Sub CheckBox5_Change(): SetCheckBoxes "CheckBox5": End Sub
    Private Sub CheckBox6_Click(): SetCheckBoxes "CheckBox6": End Sub
    Private Sub CheckBox7_Click(): SetCheckBoxes "CheckBox7": End Sub
    Private Sub CheckBox8_Click(): SetCheckBoxes "CheckBox8": End Sub
    Private Sub CheckBox9_Click(): SetCheckBoxes "CheckBox9": End Sub
    Private Sub CheckBox10_Click(): SetCheckBoxes "CheckBox10": End Sub
    
    Private Function SetCheckBoxes(mCheckBoxName As String)
        Dim xAllArr, xArrItem
        Dim xI, xJ
        If Not xBol Then Exit Function
        xAllArr = Array("CheckBox1,CheckBox2,CheckBox3", _
                       "CheckBox4,CheckBox5,CheckBox6,CheckBox7", _
                       "CheckBox8,CheckBox9,CheckBox10")
        For xI = LBound(xAllArr) To UBound(xAllArr)
            If InStr(xAllArr(xI), mCheckBoxName) > 0 Then
                xBol = False
                xArrItem = Split(xAllArr(xI), ",")
                For xJ = LBound(xArrItem) To UBound(xArrItem)
                    If xArrItem(xJ) <> mCheckBoxName Then
                        Me.OLEObjects(xArrItem(xJ)).Object.Value = False
                    End If
                Next
            End If
        Next
        xBol = True
    End Function
    
    Private Sub Worksheet_Activate(): xBol = True: End Sub
    Private Sub Worksheet_SelectionChange(ByVal Target As Range): xBol = True: End Sub
  5. Feche o Editor de VBA (Alt + Q) e retorne ao Excel para testar as caixas de seleção.

📌 Notas Importantes:

  • Certifique-se de que os nomes das propriedades das caixas de seleção (não rótulos) correspondam exatamente aos nomes no código.
  • Os agrupamentos são definidos na linha da matriz:
    xAllArr = Array("CheckBox1,CheckBox2,CheckBox3", "CheckBox4,CheckBox5,CheckBox6,CheckBox7", "CheckBox8,CheckBox9,CheckBox10")
  • Este VBA só funciona com controles ActiveX, não com Controles de Formulário.
  • As macros devem estar habilitadas para que essa automação funcione.

📺 Demonstração:

🔍 Dicas de Solução de Problemas:

  • Verifique se não há nomes duplicados de caixas de seleção.
  • Certifique-se de que todas as caixas de seleção sejam Controles ActiveX.
  • Cada procedimento de caixa de seleção deve chamar corretamente SetCheckBoxes.
  • Cenários entre planilhas exigem adaptação via módulos de classe ou controle centralizado.

💡 Solução Alternativa: Você pode usar Botões de Opção dos Controles de Formulário para obter um comportamento de seleção única embutido. No entanto, para layouts avançados e controle lógico, VBA + Caixas de Seleção é mais flexível.

✨ Dica: Ferramentas como Kutools para Excel oferecem gerenciamento de caixas de seleção baseado em GUI para uma configuração mais fácil sem codificação.


Demonstração: Desmarque outra caixa de seleção quando uma caixa de seleção for marcada no Excel

 
Kutools para Excel: Mais de 300 ferramentas práticas na ponta dos seus dedos! Aproveite recursos de IA gratuitos permanentemente! Baixe agora!

Melhores Ferramentas de Produtividade para Office

🤖 Kutools AI Aide: Revolucione a análise de dados com: Execução Inteligente   |  Gerar Código  |  Criar Fórmulas Personalizadas  |  Analisar Dados e Gerar Gráficos  |  Chamar Funções Aprimoradas
Recursos Populares: Localizar, Destacar ou Marcar Duplicatas   |  Excluir Linhas em Branco   |  Consolidar Colunas ou Células sem Perder Dados   |   Arredondar...
Super PROC: Procura por múltiplos critérios    Procura por múltiplos valores  |   Procura em várias planilhas   |   Correspondência Fuzzy...
Lista Suspensa Avançada: Crie rapidamente Lista suspensa  |  Lista suspensa dependente  |  Lista suspensa com múltipla seleção ...
Gerenciador de Colunas: Adicionar número específico de colunas  | Mover Colunas  | Alternar status de visibilidade de Colunas ocultas |  Comparar Intervalos & Colunas...
Recursos em Destaque: Grade de foco   |  Visualização de Design  |  Barra de fórmulas aprimorada    Gerenciador de Pasta de trabalho & Planilha   |  Biblioteca de AutoTexto (Auto Text)   |  Selecionador de Data   |  Mesclar Dados   |  Criptografar/Descriptografar Células    Enviar Email por Lista   |  Super Filtro   |   Filtro Especial (filtrar negrito/itálico/tachado...) ...
Os 15 Principais Conjuntos de Ferramentas: 12 Ferramentas de Texto (Adicionar Texto, Excluir Caracteres Específicos, ...)  | 50+ Tipos de Gráficos (Gráfico de Gantt, ...)  | 40+ Fórmulas Práticas (Calcular a idade com base na data de nascimento, ...)  | 19 Ferramentas de Inserção (Inserir Código QR, Inserir Imagem pelo Caminho, ...)  | 12 Ferramentas de Conversão (Converter em Palavras, Conversão de Moeda, ...)  | 7 Ferramentas de Mesclar & Dividir (Mesclar Linhas Avançado, Dividir Células, ...) | ...e muito mais
Use o Kutools no idioma de sua preferência – compatível com Inglês, Espanhol, Alemão, Francês, Chinês e mais de40 idiomas!

Impulsione suas habilidades no Excel com Kutools para Excel e experimente uma eficiência incomparável. Kutools para Excel oferece mais de300 recursos avançados para aumentar a produtividade e economizar tempo.  Clique aqui para acessar o recurso que você mais precisa...


Office Tab traz interface com abas para o Office e facilita muito seu trabalho

  • Habilite edição e leitura por abas no Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Abra e crie múltiplos documentos em novas abas de uma mesma janela, em vez de em novas janelas.
  • Aumente sua produtividade em50% e economize centenas de cliques todos os dias!

Todos os complementos Kutools. Um instalador

O pacote Kutools for Office reúne complementos para Excel, Word, Outlook & PowerPoint, além do Office Tab Pro, sendo ideal para equipes que trabalham em vários aplicativos do Office.

Excel Word Outlook Tabs PowerPoint
  • Pacote tudo-em-um — complementos para Excel, Word, Outlook & PowerPoint + Office Tab Pro
  • Um instalador, uma licença — configuração em minutos (pronto para MSI)
  • Trabalhe melhor em conjunto — produtividade otimizada entre os aplicativos do Office
  • Avaliação completa por30 dias — sem registro e sem cartão de crédito
  • Melhor custo-benefício — economize comparado à compra individual de add-ins