Uma família de softwares de planilhas da Microsoft com ferramentas para analisar, criar gráficos e comunicar dados
Olá
Conforme informado o suporte esta ativo apenas para edições acima do Office 2016 e Microsoft 365, assim sendo a solução abaixo funciona nestas edições:
- Pressione
ALT+F11para abrir o Editor VBA. - Clique em "Inserir" no menu e escolha "Módulo". Isso criará um novo módulo onde você pode inserir seu código.
- Cole o seguinte código no módulo:
| Function CalcularHorasUteis(inicio As Date, fim As Date) As Double Dim horasUteis As Double Dim dataAtual As Date horasUteis = 0 dataAtual = inicio Do While dataAtual <= fim If Weekday(dataAtual, vbMonday) <= 5 And _ dataAtual >= DateValue("9:00:00") And dataAtual <= DateValue("18:00:00") Then If Weekday(dataAtual, vbMonday) = 5 Then ' Sexta-feira horasUteis = horasUteis + (DateValue("18:00:00") - dataAtual) Else horasUteis = horasUteis + 8 * 3600 ' 8 horas úteis End If End If dataAtual = DateAdd("d", 1, dataAtual) dataAtual = DateSerial(Year(dataAtual), Month(dataAtual), Day(dataAtual)) + TimeValue("09:00:00") Loop CalcularHorasUteis = horasUteis / 3600 ' Converter para horasEnd Function | <br> | --- |
|---|
- Feche o Editor VBA.
- Na sua planilha, você pode usar a função
CalcularHorasUteiscomo uma fórmula nas células. Por exemplo, se a data de início estiver na célula A2 e a data de término na célula B2, você pode inserir a fórmula na célula onde deseja exibir o resultado:
| =CalcularHorasUteis(A2, B2) | <br> | --- |
|---|