Preciso desenvolver um código em VBA que calcule os dias úteis de trabalho
dos meses, considerando de Segunda-Sábado. Deve ser ignorados os "DOMINGOS" e
"FERIADOS".
No caso dos feriados o usuário deve ter a liberdade para cadastra-los
manualmente, visto que estamos falando de países do mundo todo.
Alguém sabe como posso fazer isso?
*************************************************************
Public Function CALC_DIAS(mes, ano)
Dim dt
Dim num_dias
Dim RS As Recordset
'zera o contador de nº de dias
num_dias = 0
'percorre a coleção do primeiro até o último dia do mês
For dt = DateSerial(ano, mes, 1) To DateAdd("m", 1, DateSerial(ano, mes, 1)
- 1)
'incrementa caso o dia não seja dominago
If Weekday(dt) <> 1 Then num_dias = num_dias + 1
Next
Set RS = CurrentDb.OpenRecordset("SELECT FERIADOS.DATA FROM FERIADOS WHERE
(((Weekday([DATA]))<>1) AND ((Month([DATA]))=" & mes & "));")
CALC_DIAS = num_dias - RS.RecordCount
Set RS = Nothing
End Function
*************************************************************
Espero que te ajude
Um abraço
Ah se for util tem um lugar que você lança que foi útil o artigo.
vi esta sua mensagem recentemente
Pode descarregar gratuitamente um programa feito por mim para calcular entre
quaisquer duas datas para Portugal o número de dias e de dias úteis entre
esseas mesmas datas
pode descarregar aqui
http://www.joaopimentel.pt/Home/works/Duteis.rar
Sem spam, trojan, vírus, spyware ou malware
Completamente gratuito, é open-source
Feito para Windows
Bom proveito
João