Estou fazendo o cálculo de tempo de atendimento de chamados, porém nesse cálculo preciso desconsiderar o horário de almoço (12 as 13), ou seja, ao invés de 9h trabalhadas no dia, serão consideradas 8h. Fiz o calculo abaixo, porém não sei onde coloco o expurgo do tempo de almoço, algum tem uma ideia?
UltLinTempoAtendimento = Sheets(nomeWorksheet).Cells(Rows.Count, 18).End(xlUp).Row
If UltLinTempoAtendimento < UltLinCod Then
For i = UltLinTempoAtendimento + 1 To UltLinCod
If Sheets(nomeWorksheet).Cells(i, 2) <> "" And Sheets(nomeWorksheet).Cells(i, 3) <> "" And Sheets(nomeWorksheet).Cells(i, 4) <> "" And Sheets(nomeWorksheet).Cells(i, 7) <> "" And Sheets(nomeWorksheet).Cells(i, 8) <> "" And Sheets(nomeWorksheet).Cells(i, 16) <> "" Then
Pergunta
danisantiago
Boa tarde,
Estou fazendo o cálculo de tempo de atendimento de chamados, porém nesse cálculo preciso desconsiderar o horário de almoço (12 as 13), ou seja, ao invés de 9h trabalhadas no dia, serão consideradas 8h. Fiz o calculo abaixo, porém não sei onde coloco o expurgo do tempo de almoço, algum tem uma ideia?
UltLinTempoAtendimento = Sheets(nomeWorksheet).Cells(Rows.Count, 18).End(xlUp).Row
If UltLinTempoAtendimento < UltLinCod Then
For i = UltLinTempoAtendimento + 1 To UltLinCod
If Sheets(nomeWorksheet).Cells(i, 2) <> "" And Sheets(nomeWorksheet).Cells(i, 3) <> "" And Sheets(nomeWorksheet).Cells(i, 4) <> "" And Sheets(nomeWorksheet).Cells(i, 7) <> "" And Sheets(nomeWorksheet).Cells(i, 8) <> "" And Sheets(nomeWorksheet).Cells(i, 16) <> "" Then
LinhaProblema = Sheets(nomeWorksheet).Cells(i, 2)
dInitial = Sheets(nomeWorksheet).Cells(i, 3)
hInitial = Sheets(nomeWorksheet).Cells(i, 4)
dEnd = Sheets(nomeWorksheet).Cells(i, 7)
hEnd = Sheets(nomeWorksheet).Cells(i, 8)
Estado = Sheets(nomeWorksheet).Cells(i, 16)
If Estado = "Rio de Janeiro" Then
If Weekday(dInitial) = 1 Then
dInitial = dInitial + 1
hInitial = 9 / 24
ElseIf Weekday(dInitial) = 7 Then
dInitial = dInitial + 2
hInitial = 9 / 24
End If
Do While Application.WorksheetFunction.NetworkDays(dInitial, dInitial, feriados) < 1
dInitial = dInitial + 1
hInitial = 9 / 24
Loop
If Weekday(dEnd) = 1 Then
dEnd = dEnd + 1
hEnd = 9 / 24
ElseIf Weekday(dEnd) = 7 Then
dEnd = dEnd + 2
hEnd = 9 / 24
End If
Do While Application.WorksheetFunction.NetworkDays(dEnd, dEnd, feriados) < 1
dEnd = dEnd + 1
hEnd = 9 / 24
Loop
If intDiasuteis = 0 Then
intDiasuteis = 1
End If
If hInitial > 18 / 24 Then
dInitial = dInitial + 1
hInitial = 9 / 24
ElseIf hInitial < 9 / 24 Then
hInitial = 9 / 24
End If
If hEnd > 18 / 24 Then
hEnd = 18 / 24
ElseIf hEnd < 9 / 24 Then
hEnd = 9 / 24
End If
intDiasuteis = Application.WorksheetFunction.NetworkDays(dInitial, dEnd, feriados)
dblHoras = Hour(hEnd) - Hour(hInitial)
dblMinutos = Minute(hEnd) - Minute(hInitial)
dblSegundos = Second(hEnd) - Second(hInitial)
Sheets(nomeWorksheet).Cells(i, 18) = (intDiasuteis - 1) * 8 * 60 + dblHoras * 60 + dblMinutos + dblSegundos / 60
ElseIf Estado = "Maranhão" Then
If Weekday(dInitial) = 1 Then
dInitial = dInitial + 1
hInitial = 7 / 24
ElseIf Weekday(dInitial) = 7 Then
dInitial = dInitial + 2
hInitial = 7 / 24
End If
Do While Application.WorksheetFunction.NetworkDays(dInitial, dInitial, feriados) < 1
dInitial = dInitial + 1
hInitial = 7 / 24
Loop
If Weekday(dEnd) = 1 Then
dEnd = dEnd + 1
hEnd = 7 / 24
ElseIf Weekday(dEnd) = 7 Then
dEnd = dEnd + 2
hEnd = 7 / 24
End If
Do While Application.WorksheetFunction.NetworkDays(dEnd, dEnd, feriados) < 1
dEnd = dEnd + 1
hEnd = 7 / 24
Loop
If intDiasuteis = 0 Then
intDiasuteis = 1
End If
If hInitial > 16 / 24 Then
dInitial = dInitial + 1
hInitial = 7 / 24
ElseIf hInitial < 7 / 24 Then
hInitial = 7 / 24
End If
If hEnd > 16 / 24 Then
hEnd = 16 / 24
ElseIf hEnd < 7 / 24 Then
hEnd = 7 / 24
End If
intDiasuteis = Application.WorksheetFunction.NetworkDays(dInitial, dEnd, feriados)
dblHoras = Hour(hEnd) - Hour(hInitial)
dblMinutos = Minute(hEnd) - Minute(hInitial)
dblSegundos = Second(hEnd) - Second(hInitial)
Sheets(nomeWorksheet).Cells(i, 18) = (intDiasuteis - 1) * 8 * 60 + dblHoras * 60 + dblMinutos + dblSegundos / 60
End If
End If
Next
End If
End Sub
obrigada.
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.