Notifications
Clear all

Limpar célula de forma condicionla

6 Posts
3 Usuários
0 Reactions
2,140 Visualizações
PAYZZANNO
(@payzzanno)
Posts: 31
Trusted Member
Topic starter
 

Senhores, boa noite.

Eu gostaria, se possível, contar com a gentileza dos senhores.

Trata-se do seguinte.

Estou tentando limpar células de forma condicional.

Por gentileza, vejam o arquivo.

Obrigado a todos mais uma vez.

Agradeço a ajuda
PAYZZANNO

 
Postado : 02/05/2021 8:39 pm
EdsonBR
(@edsonbr)
Posts: 1057
Noble Member
 

Boa noite, @payzzanno

 

Como em I1 vc já está usando a notação adequada para união de intervalos (referências separadas por vírgulas), dá pra fazer o que vc deseja de maneira bem simplificada:

Sub LimpaCelulas()
  Range(Range("I1").Value).ClearContents
End Sub

 

 
Postado : 02/05/2021 10:57 pm
PAYZZANNO
(@payzzanno)
Posts: 31
Trusted Member
Topic starter
 

Bom dia.

Primeiramente eu quero agradecer a ajuda.

O que eu não estou conseguindo fazer é colocar a condição de uma coluna em relação a outra.

No exemplo a limpeza da célula é feita de forma direta. De acordo com o que está declarado em (I1). O que eu preciso é buscar na coluna (A) a condição e limpar a célula vizinha na coluna (B).

No exemplo a quantidade de informação é pequena. Mas, no arquivo original o volume é muito grande e não é possível fazer manualmente. Então, pensei em fazer dessa forma. O meu problema está justamente na condição para realização da rotina.

Mais uma vez obrigado.

Agradeço a ajuda
PAYZZANNO

 
Postado : 03/05/2021 8:01 am
EdsonBR
(@edsonbr)
Posts: 1057
Noble Member
 
 
Postado por: @payzzanno

O que eu preciso é buscar na coluna (A) a condição...

Então por gentileza, poste um exemplo mais claro de como vc lista essas condições, em qual coluna estão, etc. É uma lista de nomes um em cada linha? É uma lista de nomes numa só célula, separados por vírgula?

Pelo seu exemplo do anexo, vc inseriu na célula I1 uma lista de endereços de célula separados por vírgula, os quais eram para ter seu conteúdo apagado e o código que propus faz exatamente isso.

 
Postado : 03/05/2021 8:24 am
(@anderson)
Posts: 203
Reputable Member
 

https://youtu.be/DJ8vVNC46w8

 

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim LINHA1 As Long
Dim LINHA2 As Long


LINHA2 = 2


While Plan2.Range("A" & LINHA2).Value <> ""



LINHA1 = 2


While Plan1.Range("A" & LINHA1).Value <> ""


If UCase(Plan2.Range("A" & LINHA2).Value) = UCase(Plan1.Range("A" & LINHA1).Value) Then

Plan1.Range("B" & LINHA1).Value = ""

End If

LINHA1 = LINHA1 + 1


Wend



LINHA2 = LINHA2 + 1


Wend


End Sub
Este post foi modificado 4 anos atrás por Anderson

Em 90% dos casos em que não se anexa o arquivo, ocorrem mal-entendidos, gerando perda de tempo de ambos os lados.

 
Postado : 03/05/2021 12:24 pm
PAYZZANNO
(@payzzanno)
Posts: 31
Trusted Member
Topic starter
 

Puxa vida   Anderson. Ficou show de bola. 

Só que, ao invés de eu colocar na planilha, resolvi colocar como sub mesmo. Agradeço demais a tua ajuda.

Ficou perfeito.

  EdsonBR Agradeço a ti também pelo empenho. A forma como fizeste ficou muito boa realmente. Embora minha necessidade em relação a rotina está mais de acordo com a proposta do  Anderson.

Porém, após ter postado é que me dei conta de que eu não soube me expressar. E por essa razão peço desculpas. Acredito que se eu o fizesse de forma mais clara, tenho certeza, que você também teria sacado a minha intensão.

Muitíssimo obrigado a todos.

Agradeço a ajuda
PAYZZANNO

 
Postado : 03/05/2021 1:54 pm