Ir para o conteúdo principal

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

Conforme mostrado no gif abaixo, suponha que há uma lista de compras que precisa ser finalizada por você. Ao verificar a lista, você descobre que os itens verificados em algumas categorias estão acima do orçamento e precisam ser selecionados novamente. Como a lista é muito longa, agora você precisa de uma maneira mais eficiente de desmarcar automaticamente a caixa de seleção original quando uma nova caixa de seleção é marcada em uma categoria. Este tutorial demonstra o método passo a passo para ajudá-lo a fazê-lo.

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


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

Conforme mostrado na demonstração acima, dez caixas de seleção chamadas Caixa de seleção1, Caixa de seleção2, Caixa de seleção3, ..., Caixa de seleção10 estão divididos em 3 grupos e localizados em diferentes categorias na tabela.

Neste exemplo, Checkbox1, 2, 3 estão em um grupo, Checkbox4, 5, 6, 7 estão em um grupo e Checkbox8, 9,10 estão no mesmo grupo. Em cada grupo, apenas uma caixa de seleção pode ser marcada por vez. Quando uma caixa de seleção é marcada, outra caixa de seleção é desmarcada automaticamente.

Agora vamos ver como aplicar o seguinte código VBA para resolver este problema.

1. Clique com o botão direito do mouse na guia da planilha e clique em Ver código no menu de contexto.

2. No aberto Microsoft Visual Basic para Aplicações janela, cole o seguinte código VBA no Folha (Código) janela.

Código VBA: Desmarque outra caixa de seleção quando uma nova caixa de seleção estiver marcada

Dim xBol As Boolean
'Updated by Extendoffice 20220816
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 x As Long
Dim xAllArr
Dim xArrItem
Dim xI, xJ
If Not xBol Then Exit Function
'In the following line, the checkboxes enclosed in double quotes belong to the same group, and each checkbox is separated by a comma. To add more checkbox groups, please enclose the checkboxes in new double quotes.
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

Notas:

1) No código, Caixa de seleção1, caixa de seleção2, ..., Caixa de seleção10 são o nome das caixas de seleção;
2) Na linha a seguir, as caixas de seleção entre aspas duplas pertencem ao mesmo grupo, e cada caixa de seleção é separada por uma vírgula. Para adicionar mais grupos de caixas de seleção, coloque as caixas de seleção entre aspas duplas.
xAllArr = Array("CheckBox1,CheckBox2,CheckBox3", "CheckBox4,CheckBox5,CheckBox6,CheckBox7", "CheckBox8,CheckBox9,CheckBox10")
3) As caixas de seleção são Controle ActiveX caixas de seleção.

3. aperte o outro + Q chaves para fechar o Microsoft Visual Basic para Aplicações janela.

Então, quando você marcar uma nova caixa de seleção em um grupo, a caixa original marcada será desmarcada automaticamente, conforme mostrado no gif abaixo.


Demonstração: desmarque outra caixa de seleção quando uma caixa de seleção estiver marcada no Excel

  Kutools for Excel inclui mais de 300 recursos poderosos para Microsoft Excel. Gratuito para testar sem limitação em 30 dias. Faça o download agora!

Melhores ferramentas de produtividade de escritório

🤖 Assistente de IA do Kutools: Revolucionar a análise de dados com base em: Execução Inteligente   |  Gerar Código  |  Crie fórmulas personalizadas  |  Analise dados e gere gráficos  |  Invocar funções do Kutools...
Recursos mais comuns: Encontre, destaque ou identifique duplicatas   |  Excluir linhas em branco   |  Combine colunas ou células sem perder dados   |   Rodada sem Fórmula ...
Super pesquisa: VLookup de múltiplos critérios    VLookup de múltiplos valores  |   VLookup em várias planilhas   |   Pesquisa Difusa ....
Lista suspensa avançada: Crie rapidamente uma lista suspensa   |  Lista suspensa de dependentes   |  Lista suspensa de seleção múltipla ....
Gerenciador de colunas: Adicione um número específico de colunas  |  Mover colunas  |  Alternar status de visibilidade de colunas ocultas  |  Compare intervalos e colunas ...
Recursos em destaque: Foco da Grade   |  Vista de Design   |   Grande Barra de Fórmula    Gerenciador de pastas de trabalho e planilhas   |  Biblioteca (Auto texto)   |  Data Picker   |  Combinar planilhas   |  Criptografar/Descriptografar Células    Enviar e-mails por lista   |  Super Filtro   |   Filtro Especial (filtro negrito/itálico/tachado...) ...
15 principais conjuntos de ferramentas12 Texto Ferramentas (Adicionar texto, Remover Personagens, ...)   |   50+ de cores Tipos (Gráfico de Gantt, ...)   |   Mais de 40 práticos Fórmulas (Calcule a idade com base no aniversário, ...)   |   19 Inclusão Ferramentas (Insira o código QR, Inserir imagem do caminho, ...)   |   12 Conversão Ferramentas (Números para Palavras, Conversão de moedas, ...)   |   7 Unir e dividir Ferramentas (Combinar linhas avançadas, Dividir células, ...)   |   ... e mais

Aprimore suas habilidades de Excel com o Kutools para Excel e experimente uma eficiência como nunca antes. Kutools para Excel oferece mais de 300 recursos avançados para aumentar a produtividade e economizar tempo.  Clique aqui para obter o recurso que você mais precisa...

Descrição


Office Tab traz interface com guias para o Office e torna seu trabalho muito mais fácil

  • Habilite a edição e leitura com guias em Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Abra e crie vários documentos em novas guias da mesma janela, em vez de em novas janelas.
  • Aumenta sua produtividade em 50% e reduz centenas de cliques do mouse para você todos os dias!
Comments (0)
No ratings yet. Be the first to rate!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations