none
Limpar células que contenham RRS feed

  • Pergunta

  • Olá, espero que estejam todos bem!

    Sou novo por aqui e usuário moderado de Excel, porém necessito de algo que para mim está sendo difícil elaborar. Necessito de uma macro que limpe células que atendam a uma condição, porém as células a serem limpas não são as células que contem a condição e sim células relacionadas a mesma.

    Para facilitar, abaixo um pequeno exemplo:

    Necessito limpar os dados de A4:A114 que contenham 1 na mesma linha da coluna E.

    Muito grato de antemão aos que colaborarem.

    sábado, 13 de julho de 2013 14:51

Respostas

  • Boa noite Marco.

    Adicione um botão à sua planilha e vincule à Macro abaixo:

    Sub Limpar()
    '
    
    ini = 4
    fim = 114
    
    colDestino = 1
    colCriterio = 5
    
    For i = ini To fim
        
        If Cells(i, colCriterio) = 1 Then
            Cells(i, colDestino).ClearContents
        End If
    Next i
    End Sub
    
    Também é possível executá-la automaticamente para qualquer modificação na tabela ou um evento específico,
    Abraço.


    Filipe Magno

    • Sugerido como Resposta anderson diniz 1979 domingo, 14 de julho de 2013 20:58
    • Marcado como Resposta MarcoRamiro segunda-feira, 15 de julho de 2013 16:28
    sábado, 13 de julho de 2013 23:55

Todas as Respostas

  • Boa noite Marco.

    Adicione um botão à sua planilha e vincule à Macro abaixo:

    Sub Limpar()
    '
    
    ini = 4
    fim = 114
    
    colDestino = 1
    colCriterio = 5
    
    For i = ini To fim
        
        If Cells(i, colCriterio) = 1 Then
            Cells(i, colDestino).ClearContents
        End If
    Next i
    End Sub
    
    Também é possível executá-la automaticamente para qualquer modificação na tabela ou um evento específico,
    Abraço.


    Filipe Magno

    • Sugerido como Resposta anderson diniz 1979 domingo, 14 de julho de 2013 20:58
    • Marcado como Resposta MarcoRamiro segunda-feira, 15 de julho de 2013 16:28
    sábado, 13 de julho de 2013 23:55
  • Boa tarde!

    Muito bom, funcionou perfeitamente, muito grato.

    Porém, necessito que a condição esteja em uma célula ao lado do botão que receberá a macro, pois o usuário selecionará qual o critério que deverá ser apagado. Será que pode me ajudar mais uma vez?

    Muito grato mais uma vez!

    • Marcado como Resposta MarcoRamiro segunda-feira, 15 de julho de 2013 16:28
    • Não Marcado como Resposta MarcoRamiro segunda-feira, 15 de julho de 2013 16:28
    segunda-feira, 15 de julho de 2013 16:08
  • Boa tarde!

    Muito bom, funcionou perfeitamente, muito grato.

    Porém, necessito que a condição esteja em uma célula ao lado do botão que receberá a macro, pois o usuário selecionará qual o critério que deverá ser apagado. Será que pode me ajudar mais uma vez?

    Muito grato mais uma vez!

    Meu caros onde você colocou o critério para ser atendido pelo if coloquei a range que terá o valor e funcionou corretamente.

    O código ficou assim:

    Sub Limpar()
    '

    ini = 4
    fim = 114

    colDestino = 1
    colCriterio = 5

    For i = ini To fim
        
        If Cells(i, colCriterio) = Range("t2") Then
            Cells(i, colDestino).ClearContents
        End If
    Next i
    End Sub

    Muito obrigado a todos.

    segunda-feira, 15 de julho de 2013 16:15