Ola pessoas,
Preciso calcular o tempo de empresa dos funcionário, porem nao estou conseguindo o retorno em meses. desde já agradeço a boa vontade
Ex:
Joao = 1 ano
Pedro = 3 meses
Carlos = 2 e 9 meses
Apartir da data de Admissao
Caixa de texto Admissao . A Data de Admisao
Caixa de texto TempoEmpresa. Resultado do calculo
Esta so me retorna o anos caso a pessoa so trabalho alguns meses, fica 0
Function CalculaTempo(Admissao As Variant) As Variant
On Error GoTo Idade_Err
'Evita o erro de data não preenchida
If IsNull(Admissao) Then
CalculaTempo = ""
Exit Function
End If
'Declarando Variáveis
Dim DataHoje As Variant, DiaHoje As Integer
Dim MesNasc As Integer, DiaNasc As Integer
Dim DifAnos As Integer, MesHoje As Integer
''Isola as partes (dia/mês) das duas datas
DiaHoje = DatePart("d", Now)
MesHoje = DatePart("m", Now)
DiaNasc = DatePart("d", Admissao)
MesNasc = DatePart("m", Admissao)
''Calcula a diferença de anos
DifAnos = DateDiff("yyyy", Admissao, Now)
''Verifica dia/mês de nascimento
If MesHoje < MesNasc Then
DifAnos = DifAnos - 1
ElseIf MesHoje = MesNasc Then
If DiaHoje < DiaNasc Then
DifAnos = DifAnos - 1
End If
Else
End If
''Valor final da função
CalculaTempo = DifAnos
idade_Fim:
Exit Function
Idade_Err:
MsgBox Err.Description
Resume idade_Fim
End Function
Preciso calcular o tempo de empresa dos funcionário, porem nao estou conseguindo o retorno em meses. desde já agradeço a boa vontade
Ex:
Joao = 1 ano
Pedro = 3 meses
Carlos = 2 e 9 meses
Apartir da data de Admissao
Caixa de texto Admissao . A Data de Admisao
Caixa de texto TempoEmpresa. Resultado do calculo
Esta so me retorna o anos caso a pessoa so trabalho alguns meses, fica 0
Function CalculaTempo(Admissao As Variant) As Variant
On Error GoTo Idade_Err
'Evita o erro de data não preenchida
If IsNull(Admissao) Then
CalculaTempo = ""
Exit Function
End If
'Declarando Variáveis
Dim DataHoje As Variant, DiaHoje As Integer
Dim MesNasc As Integer, DiaNasc As Integer
Dim DifAnos As Integer, MesHoje As Integer
''Isola as partes (dia/mês) das duas datas
DiaHoje = DatePart("d", Now)
MesHoje = DatePart("m", Now)
DiaNasc = DatePart("d", Admissao)
MesNasc = DatePart("m", Admissao)
''Calcula a diferença de anos
DifAnos = DateDiff("yyyy", Admissao, Now)
''Verifica dia/mês de nascimento
If MesHoje < MesNasc Then
DifAnos = DifAnos - 1
ElseIf MesHoje = MesNasc Then
If DiaHoje < DiaNasc Then
DifAnos = DifAnos - 1
End If
Else
End If
''Valor final da função
CalculaTempo = DifAnos
idade_Fim:
Exit Function
Idade_Err:
MsgBox Err.Description
Resume idade_Fim
End Function