Olá ricgonza!
Sua questão pode ser resolvida sem o uso do VBA. Você pode aplicar a validação de dados personalizada para restringir a entrada da data conforme o critério de indisponibilidade. Para fazer isso, você deve selecionar o intervalo que deseja aplicar a validação começando em D2 e ir na guia "DADOS" e na opção "Validação de dados". Na caixa de validação, escolha a opção "Personalizado" e no campo de fórmula deve ser inserida a fórmula:
=E(OU(PROCV($A2;INDISPONIBILIDADE!$A:$K;5;0)="";D2<PROCV($A2;INDISPONIBILIDADE!$A:$K;5;0);D2>PROCV($A2;INDISPONIBILIDADE!$A:$K;7;0));OU(PROCV($A2;INDISPONIBILIDADE!$A:$K;9;0)="";D2<PROCV($A2;INDISPONIBILIDADE!$A:$K;9;0);D2>PROCV($A2;INDISPONIBILIDADE!$A:$K;11;0)))
Eu notei que existe uma limitação do tamanho da fórmula a ser inserida no campo, então talvez você não consiga copiar e colar. Para resolver isso, renomeie a planilha INDISPONIBILIDADE para um nome menor (Ex: INDISP) e aplicaque a fórmula com esta referência, ficando:
=E(OU(PROCV($A2;INDISP!$A:$K;5;0)="";D2<PROCV($A2;INDISP!$A:$K;5;0);D2>PROCV($A2;INDISP!$A:$K;7;0));OU(PROCV($A2;INDISP!$A:$K;9;0)="";D2<PROCV($A2;INDISP!$A:$K;9;0);D2>PROCV($A2;INDISP!$A:$K;11;0)))
Depois disso pode renomear a planilha para o nome maior que a fórmula na validação se ajustará normalmente.
Na mesma caixa de opções de validação, vá na guia "Alerta de Erro" e digite a mensagem de erro desejada.
Como observação, deixo que a fórmula de validação analisa as datas do primeiro lançamento do funcionário. Caso haja a necessidade de um terceiro período de indisponibilidade, se for lançado numa nova linha abaixo de uma linha já existente do funcionário, não será analisado.
Veja o modelo anexo.
Abraços!
Rafael Issamu F. Kamimura
Moderador Oficial Microsoft Community - MCC (Contribuidor do Microsoft Community)
http://zip.net/bjrt0X - http://zip.net/bhrvbR
Foi útil? Clique na mãozinha
Conheça: http://excelmaniacos.com/
Postado : 23/03/2015 11:17 am