Note: The other languages of the website are Google-translated. Back to English

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 o Microsoft Excel. Livre para tentar sem limitação em 30 dias. Faça o download agora!


As melhores ferramentas de produtividade para escritório

O Kutools for Excel resolve a maioria dos seus problemas e aumenta sua produtividade em 80%

  • armadilha para peixes: Insira rapidamente fórmulas complexas, gráficos e qualquer coisa que você tenha usado antes; Criptografar células com senha; Criar lista de discussão e enviar emails ...
  • Barra Super Fórmula (edite facilmente várias linhas de texto e fórmula); Layout de leitura (ler e editar facilmente um grande número de células); Colar na faixa filtrada...
  • Mesclar células / linhas / colunas sem perder dados; Dividir o conteúdo das células; Combinar linhas / colunas duplicadas... Evite células duplicadas; Comparar intervalos...
  • Selecione Duplicado ou Único Linhas; Selecione linhas em branco (todas as células estão vazias); Super Find e Fuzzy Find em muitos livros; Seleção aleatória ...
  • Cópia exata Várias células sem alterar a referência da fórmula; Criação automática de referências para várias folhas; Inserir marcadores, Caixas de seleção e mais ...
  • Extrair Texto, Adicionar texto, remover por posição, Remover Espaço; Criar e imprimir subtotais de paginação; Converter entre conteúdo de células e comentários...
  • Super Filtro (salvar e aplicar esquemas de filtro a outras planilhas); Classificação Avançada por mês / semana / dia, frequência e mais; Filtro Especial por negrito, itálico ...
  • Combine pastas de trabalho e planilhas; Mesclar tabelas com base em colunas-chave; Divida os dados em várias folhas; Conversão em lote de xls, xlsx e PDF...
  • Mais de 300 recursos poderosos. Suporta Office / Excel 2007-2021 e 365. Suporta todos os idiomas. Fácil implantação em sua empresa ou organização. Recursos completos de avaliação gratuita de 30 dias. Garantia de devolução do dinheiro em 60 dias.
guia kte 201905

Guia do Office 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!
parte inferior da aba do escritório
Comentários (0)
Ainda não há classificações. Seja o primeiro a avaliar!
Não há comentários postados aqui ainda
Deixe o seu comentário
Postando como convidado
×
Avalie esta postagem:
0   Personagens
Locais sugeridos

Siga-nos

Copyright © 2009 - www.extendoffice.com. | Todos os direitos reservados. Distribuído por ExtendOffice. | | | Mapa do site
Microsoft e o logotipo do Office são marcas comerciais ou marcas registradas da Microsoft Corporation nos Estados Unidos e / ou em outros países.
Protegido por Sectigo SSL