Contar días hábiles

Tengo que contar 30 dias hábiles a partir de una fecha. Los sábados deben contarse como hábiles. Tengo una lista de dias festivos en el rango D2:D15. La fecha de inicio está en A2. La fórmula empleada es =DIA.LAB(A2;30;$D$2:$D$15). ¿Qué puedo hacer para que no cuente los sábados?
esta pregunta ya la habian hecho, y dieron como respuesta esta funcion
Function DiaLab_conSabados(inicial As Date, dias As Integer, festivos As Range) As Date
Dim final As Date
If festivos.Columns.Count > 1 Then
DiaLab_conSabados = final
Exit Function
End If
final = inicial + DateDiff("d", inicial, inicial + dias)
dia = inicial
Do While dia <= final
If WeekDay(dia) = 1 Then final = final + 1
dia = dia + 1
Loop
If WeekDay(final) = 1 Then final = final + 1
For Each Row In festivos.Rows
If IsDate(Row) Then
If inicial <= Row And final >= Row Then
final = final + 1
If WeekDay(final) = 1 Then final = final + 1
End If
End If
Next Row
Call valida(final, festivos)
DiaLab_conSabados = final
End Function
Sub valida(final As Date, festivos As Range)
Dim Esfestivo As Boolean
For Each Row In festivos.Rows
If IsDate(Row) And Row = final Then
Esfestivo = True
End If
Next Row
If WeekDay(final) = 1 Or Esfestivo Then
final = final + 1
Call valida(final, festivos)
End If
End Sub
Propiedad de Cesar Mera
Y en realidad no entendí donde ubicarla en excel para poder hacerla funcionar, si alguien por favor me puede ayudar... Se lo agradeceré
Saludos!
Respuesta
1
La he probado y parece que funciona. Los pasos a seguir son
1.- Entras a visual basic de excel con Alt+F11
2.- Del menu principal, selecciona INSERTAR, luego MODULO y en la pantalla que te sale a la derecha, pega la macro que tu tienes.
3.- Tienes que cambiar la fórmula en la celda que quieres calcular la fecha y pon:
=DiaLab_conSabados(A2;30;$D$2:$D$15)
Suerte...
Eres un sol! Me solucionaste la vida jajaja... te pasaste!...
Muchas muchas gracias!...
Muy bien, pero si ya has terminado, cierra la pregunta y valora la ayuda..

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas