Página 1 de 1
Função que retorna data e dias
Enviado: Qua Jul 11, 2018 8:45 pm
por caleonel
Pessoal, boa noite.
Eu utilizo muito duas funções do Excel que são: DIATRABALHO.INTL que me retorna a data e o DIATRABALHOTOTAL.INTL que retorna dias, só que estou criado um sistema de cadastro de chamados em VBA e não sei como usar essas funções: WORKDAY.INTL e NETWORKDAYS.INTL.
Alguém tem algum exemplo para me ajudar?
Obrigado
Re: Função que retorna data e dias
Enviado: Qui Jul 12, 2018 10:05 pm
por webmaster
Você está chamando pelo WorksheetFunction?
Re: Função que retorna data e dias
Enviado: Seg Jul 16, 2018 8:30 pm
por caleonel
Eu mesmo criei meu código e caso alguém necessite pois não encontrei nada nos fóruns que pesquisei. Vai minha contribuição:
Código: Selecionar todos
Dim dtfini As Double
Dim ultima
Dim dias As Double
Dim fimdesemana As Double
Dim dtini As Double
Private Sub CommandButton1_Click()
If optdtprev = True Then
ultima = Range("A1").End(xlDown).Row
Range("A1:A" & ultima).Select
dias = 15
dtini = CDate(txtdtini.Text)
txtdtprev.Text = CDate(Application.WorksheetFunction.WorkDay(dtini, 15, ultima))
Else
If otpdias = True Then
dtini = CDate(txtdtini.Text)
dtfini = CDate(txtdtfini.Text)
fimdesemana = 1
txtdias.Text = CDbl(Application.WorksheetFunction.NetworkDays_Intl(dtini, dtfini, 1, ultima))
End If
End If
End Sub
A variável "ultima" seleciona na planilha todos os feriados do ano.
Re: Função que retorna data e dias
Enviado: Ter Jul 17, 2018 11:39 am
por webmaster
Thumbs up!
Re: Função que retorna data e dias - Resolvido
Enviado: Ter Jul 17, 2018 8:02 pm
por caleonel
Dim dtfini As Double
Dim ultima
Dim dias As Double
Dim fimdesemana As Double
Dim dtini As Double
Private Sub CommandButton1_Click()
If optdtprev = True Then
ultima = Range("A1").End(xlDown).Row
Range("A1:A" & ultima).Select
dias = 15
dtini = CDate(txtdtini.Text)
txtdtprev.Text = CDate(Application.WorksheetFunction.WorkDay(dtini, 15, ultima))
Else
If otpdias = True Then
dtini = CDate(txtdtini.Text)
dtfini = CDate(txtdtfini.Text)
fimdesemana = 1
txtdias.Text = CDbl(Application.WorksheetFunction.NetworkDays_Intl(dtini, dtfini, 1, ultima))
End If
End If
End Sub