Formatação condicio...
 
Notifications
Clear all

Formatação condicional CTRL+L

18 Posts
3 Usuários
0 Reactions
3,901 Visualizações
(@robert)
Posts: 561
Honorable Member
Topic starter
 

Bom dia a todos!

Mais uma vez preciso da ajuda de vocês.

Tenho uma planilha que tem mais de 200mil linhas, onde tenho :

DATA-MATRICULA-NOME-SITUAÇÃO -VALOR

Gostaria de uma condicional que quando eu localizasse com o CTRL+L o código do produto ele automaticamente printasse todos os outros códigos que são iguais.

Creio que só em VBA mesmo , gostaria da ajuda dos feras aqui do planilhando.

OBS.: SEGUE UMA PLANILHA EM ANEXO

Alguém pode me ajudar ?

Obrigdo !

 
Postado : 09/11/2013 6:53 am
(@robert)
Posts: 561
Honorable Member
Topic starter
 

Wagner ,
Boa noite !

Wagner o novo código só fazia printar a matricula procurada mais não me levava para o local da matricula printada, com a nova adaptação do Mauro agora está 100%.

Wagner , te agradeço muito por me ajudar , sua iniciativa de me ajudar foi crucial .

Obrigado !

Tenha uma boa noite !

 
Postado : 11/11/2013 7:39 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Robert, como eu já havia dito na primeira postagem :
Robert, vejo que conforme comentou, o exemplo do Wagner atendeu sua solicitação, ela encontra todos os códigos "REPETIDOS" "pinta todas as Células" onde estão estes códigos e para na ultima celula onde está o código.

Provavelmente, você não tenha percebido que a rotina parava em cada matricula encontrada na instrução :
Range("B" & i).Select, ou seja em uma analise ao Código sem executa-lo, sabemos que está instrução irá selecionar o range onde foi localizada a matricula, mas se executarmos a rotina sem ser Passo a Passo, como estamos em um
Loop For i = 2 To UltimaLinha, a rotina corre direta e a celula selecionada será a ultima referencia encontrada, sem repararmos que ela está parando em cada matricula.

Resumindo, como a Rotina do Wagner atendia o solicitado eu só ajustei para realizar da maneira que entendi, trocando as instrução :
Range("A" & i & ":E" & i).Select
Selection.Interior.ColorIndex = 6

pela : Range("A" & i & ":E" & i).Interior.ColorIndex = 6, pois neste caso, como já temos o endereço não precisamos seleciona-lo antes, assim aplicamos a formatação direta utilizando somente uma linha.

Apaguei a instrução que ia selecionando cada matricula encontrada :
Range("B" & i).Select - é nesta que você não reparou que selecionava as matriculas.
e acrescentei uma Variável (sRg) para armazenar os endereços onde foram localizada as matriculas mantendo sempre o último:
sRg = Range("B" & i).Address(0, 0)

e ao final da execução ir para o endereço:
Range(sRg).Activate - a diferença aqui é que com esta instrução no final da rotina a tela é rolada até a referência, diferente da instrução anterior que selecionava a ultima mas não rolava a tela.

Ou seja o Crédito é todo do Wagner, eu só fiz alguns ajustes na rotina que ele havia enviado.

[]s

 
Postado : 12/11/2013 6:00 am
(@robert)
Posts: 561
Honorable Member
Topic starter
 

Bom dia !

Como não tenho muito conhecimento em VBA acho não identifiquei isso , mesmo assim muito obrigado aos dois novamente .

Vocês são 10!!

Tenha um bom da !

 
Postado : 12/11/2013 6:18 am
Página 2 / 2