Calcular el tiempo de cumplimiento del turno para un turno dado usando VBA en Microsoft Excel

Tabla de contenido

En este artículo, crearemos una función personalizada o UDF para calcular el tiempo de cumplimiento del turno de los agentes.

Los datos sin procesar para este ejemplo consisten en la identificación del agente junto con la hora de inicio y cierre de sesión de cada agente para el día. También hemos definido la hora de inicio y finalización del turno.

Hemos utilizado la función personalizada "TimeInterval" para calcular el tiempo de cumplimiento del turno. Esta función toma cuatro parámetros como entrada.

Función TimeInterval (Iniciar sesión, Cerrar sesión, ShiftStartTime, ShiftEndTime)

La hora de inicio del turno se define en la celda C7 y la hora de finalización del turno se define en la celda C8.

Explicación lógica

Para calcular el tiempo de cumplimiento del turno, hemos cambiado el tiempo de inicio de sesión por el tiempo de inicio del turno. Si la hora de inicio de sesión es anterior a la hora de inicio del turno, la hora de inicio del turno se considerará como hora de inicio de sesión. Si la hora de cierre de sesión es posterior a la hora de finalización del turno, la hora de finalización del turno se considerará como hora de cierre de sesión. Ahora, la diferencia entre el tiempo de inicio de sesión y el de cierre de sesión dará un tiempo de cumplimiento del turno.

Siga a continuación para obtener el código

 Opción Función explícita TimeInterval (Iniciar sesión como doble, Cerrar sesión como doble, _ ShiftStartTime como doble, ShiftEndTime como doble) 'Verificando si el tiempo de inicio de sesión es menor que el tiempo de cierre de sesión Si Inicio de sesión> Cerrar sesión, entonces TimeInterval = "El tiempo de inicio de sesión debe ser menor que el tiempo de cierre de sesión" Salir Fin de la función Si 'Si el inicio de sesión es menor que la hora de inicio del turno, entonces cambie la hora de inicio de sesión a la hora de inicio del turno Si Inicio de sesión ShiftEndTime Entonces Logout = ShiftEndTime TimeInterval = Logout - Función de fin de inicio de sesión 

Si te gustó este blog, compártelo con tus amigos en Facebook. Además, puede seguirnos en Twitter y Facebook.

Nos encantaría saber de usted, háganos saber cómo podemos mejorar nuestro trabajo y hacerlo mejor para usted. Escríbanos al sitio de correo electrónico

Va a ayudar al desarrollo del sitio, compartir la página con sus amigos

wave wave wave wave wave