Bem, como eu estou tentando aprender a criar funções quando sobra um tempo, fiz um código aqui, bem primitivo, mas pelo que testei, parece que dá certo:
Function DIATRABALHOTOTAL_INTL_GT_Beta(Data_Inicial As Date, Data_Final As Date, Optional Feriados As Range) As Integer
Dim Evolui_Data As Date
Dim Counter As Integer
Dim Celula As Range
Dim Busca_Feriado As Integer
Counter = 0
Evolui_Data = Data_Inicial
Do Until Evolui_Data > Data_Final
If Application.WorksheetFunction.Weekday(Evolui_Data, 1) = 1 Then
Else
If IsMissing(Feriados) Then
Busca_Feriado = 0
For Each Celula In Feriados
If Celula.Value = Evolui_Data Then Busca_Feriado = Busca_Feriado + 1
Next Celula
If Busca_Feriado = 0 Then Counter = Counter + 1
Else
Counter = Counter + 1
End If
End If
Evolui_Data = Evolui_Data + 1
Loop
DIATRABALHOTOTAL_INTL_GT_Beta = Counter
End Function
Nesse caso, já adaptada para a necessidade do Caje (considerar o sábado como dia útil).
Função:
DIATRABALHOTOTAL_INTL_GT_Beta
Sintaxe:
=DIATRABALHOTOTAL_INTL_GT_Beta(dia inicial; dia final; feriados - que é opcional)
Lembre-se de AGRADECER aos que te ajudaram, e de marcar o tópico como [Resolvido]
Gente que cuida de gente.
Gilmar
Postado : 23/01/2014 11:01 am