Calculando o tempo de adesão ao turno para determinado turno usando VBA no Microsoft Excel

Anonim

Neste artigo, criaremos uma função customizada ou UDF para calcular o tempo de adesão ao turno dos agentes.

Os dados brutos para este exemplo consistem na id do agente junto com o horário de login e logout de cada agente no dia. Também definimos o horário de início e término do turno.

Usamos a função personalizada “TimeInterval” para calcular o tempo de adesão ao turno. Esta função leva quatro parâmetros como entrada.

Função TimeInterval (Login, Logout, ShiftStartTime, ShiftEndTime)

O horário de início do turno é definido na célula C7 e o horário de término do turno é definido na célula C8.

Explicação lógica

Para calcular o tempo de adesão ao turno, alteramos o horário de login para o horário de início do turno. Se a hora de login for anterior à hora de início do turno, a hora de início do turno será considerada como hora de login. Se o tempo de logoff for atrasado em relação ao horário de término do turno, o horário de término do turno será considerado como o tempo de logoff. Agora, a diferença entre o tempo de login e logout dará o tempo de adesão ao turno.

Siga abaixo para o código

 Opção Explícita Função TimeInterval (Login As Double, Logout As Double, _ ShiftStartTime As Double, ShiftEndTime As Double) 'Verificar se o tempo de login é menor que o tempo de logout If Login> Logout Then TimeInterval = "O tempo de login deve ser menor que o tempo de logout" Exit Fim da função Se 'Se o login for menor que a hora de início do turno, então alterando a hora de login para a hora de início do turno If Login ShiftEndTime Then Logout = ShiftEndTime TimeInterval = Logout - Função de término do login 

Se você gostou deste blog, compartilhe com seus amigos no Facebook. Além disso, você pode nos seguir no Twitter e no Facebook.

Gostaríamos muito de ouvir de você, diga-nos como podemos melhorar nosso trabalho e torná-lo melhor para você. Escreva para nós no site de e-mail