Como ativar ou desativar um botão com base no valor de uma célula no Excel?
Neste artigo, apresento alguns métodos para ativar ou desativar um botão com base no valor de uma célula numa folha de cálculo do Excel.
Ativar ou desativar dois botões com base em dados de duas colunas com código VBA
Ativar ou desativar um botão com base em valores de duas células com código VBA
Ativar ou desativar dois botões com base em dados de duas colunas com código VBA
Por exemplo, imagine que tem dois botões de comando numa folha de cálculo: sempre que a Coluna A contiver dados, o Botão 1 é ativado e o Botão 2 desativado; por outro lado, se a Coluna C contiver dados, o Botão 2 é ativado e o Botão 1 desativado. Para resolver esta tarefa, o seguinte código VBA poderá ajudá-lo.
1. Clique com o botão direito na folha que contém os botões e, em seguida, escolha Ver Código no menu de contexto, conforme mostra a captura de ecrã:

2. Na janela do Microsoft Visual Basic for Applications, copie e cole o código abaixo no módulo em branco:
Código VBA: Ativar ou desativar dois botões com base em duas colunas:
Private Sub Worksheet_Change(ByVal Target As Range)
CommandButton1.Enabled = False
CommandButton2.Enabled = False
If Application.WorksheetFunction.CountA(Range("C:C")) > 0 Then
CommandButton2.Enabled = True
End If
If Application.WorksheetFunction.CountA(Range("A:A")) > 0 Then
CommandButton1.Enabled = True
End If
End Sub

Nota: No código acima, CommandButton1 e CommandButton2 são os nomes dos botões, e A:A e C:C são as duas colunas utilizadas para ativar ou desativar esses botões; altere-as conforme necessário.
3. Em seguida, guarde e feche a janela do código. Agora, obterá o seguinte resultado conforme pretendido:
(1.) Se introduzir dados na Coluna A, o botão 1 é ativado e o botão 2 é desativado, conforme mostra a captura de ecrã:

(2.) Se introduzir dados na Coluna C, o botão 2 é ativado e o botão 1 é desativado, conforme mostra a captura de ecrã:

(3.) Se ambas as colunas A e C contiverem dados, os dois botões são ativados, conforme mostra a captura de ecrã:

(4.) Os dois botões são desativados se não houver dados nas colunas A e C, conforme mostra a captura de ecrã:

Ativar ou desativar um botão com base em valores de duas células com código VBA
Se pretender ativar ou desativar um botão de comando com base nos valores de duas células — por exemplo, ativar o botão quando o valor em A1 for superior ao valor em B1 e desativá-lo caso contrário — o seguinte código VBA também poderá ser útil.
1. Clique com o botão direito na folha que contém o botão e, em seguida, escolha Ver Código no menu de contexto. Na janela do Microsoft Visual Basic for Applications, copie e cole o código abaixo no módulo em branco, conforme mostra a captura de ecrã:
Código VBA: Ativar ou desativar um botão com base em valores de duas células:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim TargetAdd As String
Dim xTemp As Double
On Error GoTo ExitSub
TargetAdd = Target.Address
CommandButton1.Enabled = False
If (TargetAdd = Range("A1").Address) Or (TargetAdd = Range("B1").Address) Then
If Range("A1") > Range("B1") Then
CommandButton1.Enabled = True
End If
End If
ExitSub:
End Sub

Nota: No código acima, A1 e B1 são os valores das células utilizados, e CommanButton1 é o nome do botão; altere-os conforme necessário.
2. Em seguida, guarde e feche a janela do código. Agora, se o valor da célula A1 for superior ao da B1, o botão é ativado; caso contrário, se o valor em A1 for inferior ao da B1, o botão é desativado, conforme mostra a captura de ecrã:

As Melhores Ferramentas de Produtividade para o Office
Potencie as suas competências no Excel com Kutools para Excel e experimente uma eficiência como nunca antes.Kutools para Excel Oferece mais de 300 funcionalidades avançadas para impulsionar a produtividade e Economizar Tempo.Clique aqui para obter a funcionalidade de que mais precisa...
Office Tab Traz uma interface com separadores para o Office e torna o seu trabalho muito mais fácil
- Ative a edição e leitura com separadores no Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Abra e crie vários documentos em novos separadores da mesma janela, em vez de em janelas separadas.
- Aumente a sua produtividade em 50 % e elimine centenas de cliques do rato todos os dias!
Todos os suplementos Kutools — num único instalador.
Kutools for Office reúne suplementos para Excel, Word, Outlook e PowerPoint, além do Office Tab Pro, sendo a solução ideal para equipas que trabalham em várias aplicações do Office.
- Pacote tudo-em-um— suplementos para Excel, Word, Outlook e PowerPoint + Office Tab Pro
- Um instalador, uma licença— configuração em minutos (pronto para MSI)
- Funciona melhor em conjunto— produtividade simplificada em todas as aplicações do Office
- Teste gratuito de 30 dias com todas as funcionalidades— sem registo, sem cartão de crédito
- Melhor relação qualidade-preço— poupe face à compra individual dos suplementos