Ir ao conteúdo
  • Cadastre-se

Macro para data, dias úteis, interior color.


Ir à solução Resolvido por Visitante,

Posts recomendados

Senhores, 

 

Para entendimento: trabalho com um prazo de entrega do material de 7 dias úteis, ou seja, se recebi hoje (25/07), tenho que entregar no máximo até 05/08. Fiz uma fórmula onde já é calculado os dias úteis, porém, preciso de ajuda com a pintura das células.

 

Preciso que, em uma coluna já com formula (range G6:G400) seja feita a seguinte fomatação:

 

Se a data limite de entrega for =Hoje()-1 = interior.colorindex =36

Se a data limite de entrega for =Hoje() ou Hoje()+1 = interior.colorindex = 3

 

Além disso, caso a célula ao lado (H6:H400) esteja preenchida com a data de expedição, a cor da células fique em branco, por isso não pode ser uma formatação condicional.

 

Desde já agradeço!

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

 

 

Além disso, caso a célula ao lado (H6:H400) esteja preenchida com a data de expedição, a cor da células fique em branco, por isso não pode ser uma formatação condicional.

 

Claro que dá para fazer com formatação, mas para facilitar anexe um exemplo da tua planilha, demonstrando o que você deseja.

 

[]s

Link para o comentário
Compartilhar em outros sites

Vamos lá:

Supondo que em A6 (coluna A) esteja a data de expedição.

 

Vá em formatação condicional nova regra "usar uma fórmula..." entre com a seguinte fórmula, e repita a operação para inserir uma outra regra com a fórmula de baixo:

 

Ao criar cada regra, após inserir a fórmula, clique em formatar e selecione na aba preenchimento a cor que voce quer.

 

Fórmula para Hoje -1:

=E(G6=HOJE()-1;H6<>A6)

Fórmula para hoje ou hoje +1:

=E(OU(G6=HOJE();G6=HOJE()+1);H6<>A6)

Agora CLqiue em ok após configurar a formula e a formatacao.

 

Agora volte em formatacao condicional, clique em gerenciar regras, nas duas regras criadas, na caixa APLICA-SE a informe =$G$6:$G$400

 

Eu nao criei uma terceira regra (isolando a da data de expedicao = coluna H) porque supus que a planilha tem fundo branco, caso nao tenha teremos quie criar mais uma regra.

Link para o comentário
Compartilhar em outros sites

Obrigado pelas respostas, mas ainda encontro um problema. Como citei, trabalho com dias úteis, sendo assim, a fórmula citada acima seria apenas para que atuasse com a data de hoje. Entendo que minha explicação não foi das melhores também. Estarei anexando a planilha para melhor entendimento. Criei para formatação condicional para hoje +1 e hoje -1 foram as seguintes:

 

=(G5+PROCV(DIA.DA.SEMANA(G5;1);$Microsoft4:$O$10;3;FALSO)-HOJE())+1<1  - (hoje+1)

 

=(G5+PROCV(DIA.DA.SEMANA(G5;1);$Microsoft4:$O$10;3;FALSO)-HOJE())+1=1 - (hoje-1)

 

Sendo que, no range M4:O10 está a tabela de criei para que fosse possível o cálculo de dias úteis.

 

Para que ela ficasse em branco quando a célula ao lado estivesse como expedido, fiz uma fórmula simples (H5<>" "), como podem ver. O problema é que, dessa forma teria de criar a mesma regra em 400 células ou mais, o que seria inviável. Previamente, meus agradecimentos. Recebimento e expedição - Julho (Clube do Hardware).xlsx

Link para o comentário
Compartilhar em outros sites

@Rafael

1. não é necessário criar uma regra específica de FC se houver "Expedido" na coluna "F", você pode colocar, tanto para a FC com preenchimento amarelo como para vermelho >> =SE(F5<>"Expedido"; coloque aqui a sua fórmula atual) >> não esqueça de adicionar um parêntese no final da sua fórmula atual.

2. como alternativa - coloque o "Expedido" na sua fórmula que calcula o "Prazo Limite" ao invés de colocar na FC, assim:

=SE(OU(A5="";F5="Expedido");"-";A5+7+PROCV(DIA.DA.SEMANA(A5;1);$M$4:$N$10;2;FALSO))

desta forma você poderá excluir a Regra do "Expedido" na FC e continuar utilizando as fórmulas atuais.
 

 

obs. Para o cálculo do "Prazo Limite" eu utilizaria

=SE(OU(A5="";F5="Expedido");"-";DIATRABALHO(A5;7))

Esta função DIATRABALHO ainda permite incluir os feriados como parâmetro, já que você trabalha com dias úteis, e a sua fórmula atual não considera os feriados.
E na FC eu utilizaria

=E(G5>HOJE()-1;G5<HOJE()+2) para amarelo e >> =G5=HOJE()-1 para vermelho

... O problema é que, dessa forma teria de criar a mesma regra em 400 células ou mais, o que seria inviável.

A sua afirmação acima passa a impressão que você está aplicando a FC nas células uma a uma. Lembrando, você pode selecionar o intervalo desejado e aplicar a FC uma só vez que ela valerá para todo o intervalo selecionado.

Link para o comentário
Compartilhar em outros sites

Osvaldo, obrigado pela resposta e também pela dica da fórmula DIATRABALHO, não a conhecia e quebrei a cabeça pra chegar em um número pela DIA.DA.SEMANA, rs.

 

Bom, algumas ressalvas:

 

1°: Escrevendo a fórmula =SE(F5<>"Expedido";(fórmula atual) também não seria interessante, porque pela formatação condicional a referencia seria apenas pela célula F5, ou seja, todas células abaixo retornariam o mesmo resultado baseado em uma única célula.

 

2°: Preciso que a data do  "Prazo limite" permaneça na planilha, ou seja, a resposta para sua fórmula OU caso resultado falso seria (" - "), e caso eu remova o hífen, ele me retorna como FALSO, o que também não me é interessante.

 

3°: Não foi uma afirmação. Não estou aplicando a FC célula a célula, porque isso tomaria um tempo que infelizmente não tenho, mas até o momento me pareceu a única solução. Me desculpe se fui rude em algum momento.

 

Obrigado e sigo no aguardo de uma luz! rs.

Link para o comentário
Compartilhar em outros sites

  • Solução

Bom, algumas ressalvas:

 

1°: Escrevendo a fórmula =SE(F5<>"Expedido";(fórmula atual) também não seria interessante, porque pela formatação condicional a referencia seria apenas pela célula F5, ou seja, todas células abaixo retornariam o mesmo resultado baseado em uma única célula.

Vai funcionar para todo o intervalo, tenha fé! ;):P

 

2°: Preciso que a data do  "Prazo limite" permaneça na planilha, ou seja, a resposta para sua fórmula OU caso resultado falso seria (" - "), e caso eu remova o hífen, ele me retorna como FALSO, o que também não me é interessante.

OK, veja a sugestão abaixo para a fórmula em G5

 

3°: Não foi uma afirmação. Não estou aplicando a FC célula a célula, porque isso tomaria um tempo que infelizmente não tenho, mas até o momento me pareceu a única solução. Me desculpe se fui rude em algum momento.

Selecione o intervalo desejado e aplique a formatação com fé! Vai funcionar! :rolleyes:

 

 

Experimente:

Em G5 e arraste

=SE(A5="";"-";DIATRABALHO(A5;7))

FC amarelo (ou vermelho)

=E(F5<>"Expedido";G5>HOJE()-1;G5<HOJE()+2)

FC vermelho (ou amarelo)

=E(F5<>"Expedido";G5=HOJE()-1)
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...