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:
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
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...
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!