Determina días laborales entre fecha y fecha





En este ejemplo podrás observar como al hacer click en el botón corre una macro que calcula los días hábiles del período calcula en  forma simple los días laborales, siendo estos de lunes a viernes, teniendo en cuenta el listado de días feriados que le debemos proporcionar. La macro recorre fila por fila hasta el final y determina los días hábiles del período seleccionado. Te recomiendo que hagas click para aprender más sobre  Excel.

Antes de continuar recomiendo leer un excelente libro sobre Excel que te ayudará operar las planillas u hojas de cálculo, haz click acá, si quieres aprender sobre Excel, en inglés, entonces debes hacer click here. Si lo que necesitas es aprender o profundizar sobre la programación de macros con VBA este es unos de los mejores cursos on line que he visto en internet.


  


Suscribe a nuestro canal de You Tube para recibir en tu correo vídeos explicativos sobre macros interesantes, como  por ejemplo formulario que crea un listado de todas las hojas para poder luego seleccionarlasbuscar en listbox mientras escribes en textboxordenar hojas libro excel por su nombreconectar Excel con Access y muchos ejemplos más.






Código que se incorpora en módulo



Private Sub WorksDays()
Application.ScreenUpdating = False
On Error Resume Next
Dim fila, filaf, dh, dnh As Integer
Dim dato1, dato2 As Date
fila = 2
filaf = 2

While Sheets("Hoja1").Cells(fila, 1) <> Empty
     
   
        dato1 = Range("B" & fila)
        dato2 = Range("C" & fila)
       
        For Z = dato1 To dato2
              If Weekday(Z) <> 1 And Weekday(Z) <> 7 Then
                 dh = dh + 1
                    While Sheets("feriados").Cells(filaf, 1) <> Empty
                        If Sheets("feriados").Cells(filaf, 1) = i Then
                           dh = dh - 1
                        End If
                        filaf = filaf + 1
                    Wend
              End If
              filaf = 2
        Next Z
       
    Sheets("hoja1").Cells(fila, 4) = dh
fila = fila + 1
filaf = 2
dh = 0
Wend
Application.ScreenUpdating = True
End Sub




Si te fue de utilidad puedes INVITARME UN CAFÉ y de esta manera ayudar a seguir manteniendo la página, CLICK para descargar en ejemplo en forma gratuita.




If this post was helpful INVITE ME A COFFEE and so help keep up the page, CLICK to download free example.

Si te gustó por favor compártelo con tus amigos
If you liked please share it with your friends      


Click Here!