Esqueceu sua senha? Você pode usar o mecanismo de lembrete neste link: Recuperar senha

Você receberá um link de reativação no email cadastrado.

Não recebeu o email? Lembre-se checar o Lixo Eletrônico.

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 » Qua Jul 11, 2018 8:45 pm

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: 2478
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

Re: Função que retorna data e dias

Mensagem por webmaster » Qui Jul 12, 2018 10:05 pm

Você está chamando pelo WorksheetFunction?


Tomás
http://www.tomasvasquez.com.br/blog
http://www.tomasvasquez.com.br/cursocsharp
http://twitter.com/tomamais
Se sua dúvida foi solucionada, acrescente [RESOLVIDO] ao título.

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 » Seg Jul 16, 2018 8:30 pm

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.




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 » Ter Jul 17, 2018 8:02 pm

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