Notifications
Clear all

COLORIR LINHA DE ACORDO COM DIA DA SEMANA

13 Posts
2 Usuários
0 Reactions
1,517 Visualizações
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

.
Boa tarde pessoal!!
.
Deve ser um ajuste bobo, mas VBA não é meu forte kk !!
.
Tenho uma planilha no trabalho para controle de entrada de processos ... esta planilha dura 2, 3, 4 e, dependendo do movimento, até 5 anos !!
.
Veja modelo em anexo (com explicações mais detalhadas)!!
.

 
Postado : 07/09/2017 1:18 pm
(@wagner-morel-vidal-nobre)
Posts: 4063
Famed Member
 

JSCOPA,

Boa tarde!

Fiz da seguinte forma:

Se você quiser colorir todas as datas existentes na coluna A de uma só vez, independentemente do número de linhas preenchidas que exista, basta clicar no botão COLORIR DATAS.

Depois de coloridas, se digitar uma nova data, após teclar enter, a data será colorida conforme o esquema de cor especificado.

OBS. Seus dados originais estão preservados na Plan1 (2).

Veja se é assim.

 
Postado : 07/09/2017 2:23 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

.
wagner, obrigado por responder!!
.
Mas ...
.
1) Só está colorindo a coluna A ... e não o desejável, que é de A até H!!
2) O código só funciona se digitar a data em cada célula individualmente ... se eu selecionar A2:A20 digitar a data e dar Crtl+Enter não funciona (é isto que faço no início do dia - se não usar todas as linhas, no dia seguinte apago as que não usei e faço de novo: seleciono umas 20 linhas, digito a data do dia e Crtl+Enter)!!
3) Após excluir a Plan1, para ficar só com a Plan2 que você fez, percebi que o código que você colocou na Plan2 está vinculado ao do Módulo (e este se referia à Plan1) !!
.

 
Postado : 07/09/2017 2:55 pm
(@wagner-morel-vidal-nobre)
Posts: 4063
Famed Member
 

JSCOPA,

Entendo.

Bom... a questão de colorir até a coluna H eu havia esquecido e já consertei na rotina do botão.

Quanto a questão de selecionar várias linhas, digitar a data e teclar CTRL+ ENTER aí já não sei como fazer de forma automática pois o evento WorkSheet_Change usa o comando Target para identificar a célula alterada e, no caso, quando se seleciona mais de uma célula, ele não identifica.

No caso, para a inserção de muitas linhas com a mesma data, eu sugiro que você insira normalmente as datas como já faz (com CTRL + ENTER) e depois utilize o botão para colorir as linhas das novas datas inseridas.

 
Postado : 07/09/2017 4:00 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

.
wagner, valeu, está funcionando bem com o botão!!
.
Mas como esta planilha vai ser utilizada por várias pessoas, e chegar a umas 10 mil linhas até 2020, gostaria que esta ação fosse mais automática, ou seja, ao inserir a data na coluna A (mesmo selecionando várias linhas e finalizando com Crtl+Enter) a cor fosse inserida sem ter que clicar no botão !!!
.
Vou aguardar mais um pouco para ver se aparece outra solução!! ... De qualquer forma já te agradeço!!
.

 
Postado : 07/09/2017 6:00 pm
(@wagner-morel-vidal-nobre)
Posts: 4063
Famed Member
 

Ok.

Pensando um pouco mais, acho que consegui dá um jeito. Veja se é assim.

 
Postado : 07/09/2017 6:11 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

.
wagner, testei a Plan1 e estava indo tudo bem ... mas depois que excluí a Plan2 e o módulo1, para deixar o exemplo "limpo", nada funcionou mais!!
.
Este seu código da Plan1 depende do código do módulo1 ?!
.
----------------------------------------------------------------------------------- Editando
.
Wagner, agora excluí só a Plan2, e deixei o módulo1 ... e está perfeito!! ... Pelo que estou vendo, além do código da Plan1, é necessário deixar o código do módulo1 também, né!!
.
Vou deixar o tópico aberto mais um pouquinho ... mas sua solução já resolve meu problema!! ... Valeu!!!
.

 
Postado : 07/09/2017 6:36 pm
(@wagner-morel-vidal-nobre)
Posts: 4063
Famed Member
 

Sim. Depende do código do módulo 1 também.

 
Postado : 07/09/2017 7:47 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

.
wagner, voltei k ............ aqui no trabalho está dando erro nesta linha do código ... Select Case Weekday(CDate(Target.Value))
.
Colei o arquivo do trabalho (5 mil linhas) na plan com seu código ... até a linha 78 funcionou perfeito ... a partir da linha 79 o código só colore os dias referentes a 4ª feira !!
.
Você poderia dar uma olhada neste pedaço do arquivo original? ... Valeu!!!
.

 
Postado : 08/09/2017 9:10 am
(@wagner-morel-vidal-nobre)
Posts: 4063
Famed Member
 

JSCOPA,

Boa tarde!

Veja que as linhas 75, 76, 77 e 78 não contém datas na célula A. Desse jeito, o código não funciona mesmo!!!

 
Postado : 08/09/2017 10:53 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

.
wagner, como não tem data? ... Até a linha 78 o código tá show!! ... Dá linha 79 em diante é que ele só coloca a cor quando é 4ª feira (Azul)!!
.
PS: eu cheguei a pensar que fosse esse office 2007 (aff), mas não pode ser já que até a linha 78 seu código funciona perfeitamente!!!
.
PS2: quando vou no código e executo, ele dá erro nesta linha (Select Case Weekday(CDate(Range("A" & i).Value)) -- que está no módulo1 ... e também na linha (Select Case Weekday(CDate(Target.Value)) -- que está na Plan1 !!
.

.

 
Postado : 08/09/2017 11:58 am
(@wagner-morel-vidal-nobre)
Posts: 4063
Famed Member
 

Nesse arquivo que você enviou por último, as linhas 75, 76, 77 e 78 não são datas. Elas possuem duas barras e, portanto, o código não reconhece as mesmas. Veja na imagem abaixo.

 
Postado : 08/09/2017 12:32 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

.
ÓÓoooohhh!! Era isso mesmo wagner!! ... Corrigi e agora tá funcionando até o final!! ... Ufaaaa!! ... Valeu de novo!! ... RESOLVIDO!!
.

 
Postado : 08/09/2017 12:44 pm