Calcular fecha-hora con macro en excel

"para Dante Amor"

En esta función deseo saber el tiempo que tarda en dar solución a partir de conocer la fecha-hora tanto de (B5) inicio como (B6) fin, así como el horario laboral diario (B2) inicial y (B3) final y el rango de las vacaciones (H9:H10).

La función en excel que esta corriendo correctamente ya probada es:

=((DIAS.LAB(B5,B6,H9:H10)-2)*(B3-B2)+B3-RESIDUO(B5,1)+RESIDUO(B6,1)-B2)*24

Deseo calcular la hora que tardo en dar solución al proyecto (representado en horas)

Que partiendo de los datos similares a el ejemplo anterior ahora la diferencia es que en vez al utilizar la función dias.Lab y el rango de vacaciones se me complica.
Ya fue probada, pero no entiendo mucho de visual y de programar una función menos aun, solo se que el comando es Function y definir variables, pero ni idea de como hacer este tipo de fórmulas desde visual.
Lo que deseo es hacer la función en visual.

1 respuesta

Respuesta
2

H o l a:

Te anexo la función de VBA

Function CalculaFechaHora(hini As Range, hfin As Range, fini As Range, ffin As Range, rvac As Range)
'Por.Dante Amor
    b2 = hini.Address
    b3 = hfin.Address
    b5 = fini.Address
    b6 = ffin.Address
    br = rvac.Address
    re = Evaluate("=((NETWORKDAYS(" & b5 & "," & b6 & "," & br & ")-2)*(" & _
                    b3 & "-" & b2 & ")+" & b3 & "-MOD(" & b5 & ",1)+MOD(" & _
                    b6 & ",1)-" & b2 & ")*24")
    CalculaFechaHora = re
End Function

Los parámetros que le tienes que pasar y en este orden son:

La celda de la hora inicial

La celda de la hora final

La celda de la fecha inicial

La celda de la fecha final

Las celdas con las vacaciones

Ejemplos:

=CalculaFechaHora(B2,B3,B5,B6,H9:H10)

' : )
'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias
' : )

¡Gracias!  muchas gracias eres a todo dar

Me preguntaba si me ayudas con esta que es la que ya modifique gracias:

Hacer fórmula de excel en visual basic 

En la primera oportunidad reviso la pregunta y te contesto.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas