tinha até esquecido
Sub PLANTAO()
Dim DATA_INICIAL As Date, DATA_FINAL As Date
L = 4 '------ Linha de inicio
Range("B4:Q37").ClearContents
On Error GoTo fim
DATA_INICIAL = InputBox("Digite a data inicial:", "Escala de Plantão")
Cells(L, 2) = DATA_INICIAL
DATA_FINAL = DateAdd("d", 14, DATA_INICIAL)
Cells(L, 3) = DATA_FINAL
For n = 1 To 13
DATA_INICIAL = DateAdd("d", 1, DATA_FINAL)
If Month(DATA_INICIAL) = 12 And Day(DATA_INICIAL) > 19 Then
DATA_INICIAL = DateValue("06/01/" & Year(DATA_INICIAL) + 1)
End If
Cells(L + n, 2) = DATA_INICIAL
DATA_FINAL = DateAdd("d", 14, DATA_INICIAL)
If Month(DATA_FINAL) = 12 And Day(DATA_FINAL) > 19 Then
dd = DateDiff("d", DATA_INICIAL, DateValue("19/12/" & Year(DATA_INICIAL)))
DATA_FINAL = DateAdd("d", (15 - dd), DateValue("07/01/" & Year(DATA_INICIAL) + 1))
End If
Cells(L + n, 3) = DATA_FINAL
Next
Exit Sub
fim:
MsgBox ("Por favor, digite uma data válida!"), vbOKOnly, "Atenção"
End Sub
para ajustar alguma diferença de dias do fim de ano mexa nas datas dessas linhas onde tem a cor vermelha
dd = DateDiff("d", DATA_INICIAL, DateValue("19/12/" & Year(DATA_INICIAL)))
DATA_FINAL = DateAdd("d", (15 - dd), DateValue("07/01/" & Year(DATA_INICIAL) + 1))
Somente é impossíveis até que alguém faça
A logica está presa na irracionalidade humana, e morta nos que se consideram donos da verdade.
"ALGUM MODERADOR ME EXPULSE DO FÓRUM POR FAVOR"
Postado : 05/08/2015 6:46 am