Vídeo recomendado
https://youtu.be/diWPPPhW-9E

Função que retorna data e dias

Fórum para dúvidas sobre os fundamentos da linguagem de programação Visual Basic no contexto do VBA
caleonel
Colaborador
Colaborador
Mensagens: 43
Registrado em: Sáb Mai 13, 2017 10:42 pm

Função que retorna data e dias

Mensagem 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


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
webmaster
Administrador
Mensagens: 3114
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

Re: Função que retorna data e dias

Mensagem por webmaster »

Você está chamando pelo WorksheetFunction?


caleonel
Colaborador
Colaborador
Mensagens: 43
Registrado em: Sáb Mai 13, 2017 10:42 pm

Re: Função que retorna data e dias

Mensagem 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.


Avatar do usuário
webmaster
Administrador
Mensagens: 3114
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

Re: Função que retorna data e dias

Mensagem por webmaster »

Thumbs up!


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


caleonel
Colaborador
Colaborador
Mensagens: 43
Registrado em: Sáb Mai 13, 2017 10:42 pm

Re: Função que retorna data e dias - Resolvido

Mensagem 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


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder