Executar macro ao clicar na célula: 2 colunas, 2 macros  [Resolvido]

Visual Basic for Aplication e macros no Excel.
Regras do fórum
Sua dúvida foi respondida? Marque como RESOLVIDO em seus tópicos, usando o botão com marca verde. Imagem

Executar macro ao clicar na célula: 2 colunas, 2 macros

Mensagempor topscore » Qui Mai 16, 2019 11:44 pm

Boa noite!

Mais uma vez encontrei uma daquelas situações que parece que só eu consigo criar! É o seguinte:
Range A1:B20, por exemplo.
Quero clicar nas células da coluna A, e elas imediatamente são preenchidas com "Conforme".
Caso já estejam preenchidas, deleta o "Conforme" e ficam vazias.
Não tive problemas até aqui. Nas colunas B o procedimento é o mesmo, porém, o valor é "Não conforme".
Não consigo fazer funcionar na coluna B de jeito nenhum.
Ah, haverá células protegidas no meio dessa range, por isso o "On Error Resume Next", funciona perfeitamente.
Alguém pode me ajudar? Segue o código:

Código: Selecionar todos
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    On Error Resume Next
    If Intersect(Target, Me.Range("A1:a20")) Is Nothing Then Exit Sub
    If ActiveCell.Value = "" Then
        ActiveCell.FormulaR1C1 = "Conforme"
    Else
    If ActiveCell.Value = "Conforme" Then
        ActiveCell.FormulaR1C1 = ""
   
    If Intersect(Target, Me.Range("b1:b20")) Is Nothing Then Exit Sub
    If ActiveCell.Value = "" Then
        ActiveCell.FormulaR1C1 = "Não Conforme"
    Else
    If ActiveCell.Value = "Não Conforme" Then
        ActiveCell.FormulaR1C1 = ""
    End If
    End If
    End If
    End If
End Sub
topscore
Membro
Membro
 
Mensagens: 3
Registrado em: Sex Abr 10, 2015 9:12 pm
Has thanked: 0 time
Have thanks: 0 time

{ SO_SELECT }

Re: Executar macro ao clicar na célula: 2 colunas, 2 macros  [Resolvido]

Mensagempor Mauro Coutinho » Sex Mai 17, 2019 9:51 am

Tente assim :

Código: Selecionar todos
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    On Error Resume Next
    If Not Intersect(Target, Me.Range("A1:a20")) Is Nothing Then
            If ActiveCell.Value = "" Then
                ActiveCell.FormulaR1C1 = "Conforme"
        Else
             If ActiveCell.Value = "Conforme" Then
                 ActiveCell.FormulaR1C1 = ""
           
             End If
        End If
       
        Else
            If Intersect(Target, Me.Range("b1:b20")) Is Nothing Then Exit Sub
                If ActiveCell.Value = "" Then
                    ActiveCell.FormulaR1C1 = "Não Conforme"
            Else
                If ActiveCell.Value = "Não Conforme" Then
                    ActiveCell.FormulaR1C1 = ""
                End If
            End If
    End If
End Sub
Mauro Coutinho - Moderador
São José dos Pinhais-Pr


Se a resposta foi últil para você, por gentileza, clique na mãozinha ao lado direito da sua tela. No canto superior.
Avatar do usuário
Mauro Coutinho
Ninja do Excel
Ninja do Excel
 
Mensagens: 3972
Registrado em: Sex Mar 26, 2010 9:24 pm
Localização: São José dos Pinhais - Pr
Has thanked: 183 times
Have thanks: 1474 times

Re: Executar macro ao clicar na célula: 2 colunas, 2 macros

Mensagempor topscore » Sex Mai 17, 2019 12:09 pm

Perfeito!
Tão simples depois de ver o código pronto.
Obrigado Mauro!
topscore
Membro
Membro
 
Mensagens: 3
Registrado em: Sex Abr 10, 2015 9:12 pm
Has thanked: 0 time
Have thanks: 0 time


Voltar para VBA & Macros

Quem está online

Usuários navegando neste fórum: Google Adsense [Bot], LaerteB e 4 visitantes