terça-feira, 13 de janeiro de 2015

Função Excel para retornar o último dia do mês

Function UltimoDiaDoMes(Ano As Integer, Mes As Integer) As Integer
    '1) Para um ano ser bisexto, ele deve ser divisível por 4,
    '   não pode ser por 100, exceto se for por 400
    '2) Retorna -1 se o mês for menor que 1 ou maior que 12
    Dim bEbissexto As Boolean
  
    If Ano Mod 4 = 0 Then
        If Ano Mod 100 = 0 Then
            If Ano Mod 400 = 0 Then
                bEbissexto = True
            Else
                bEbissexto = False
            End If
        Else
            bEbisexto = True
        End If
    Else
        bEbissexto = False
    End If
    Select Case Mes
        Case 1                              'Janeiro
            UltimoDiaDoMes = 31
        Case 2                              'Fevereiro
            If bEbissexto = True Then
                UltimoDiaDoMes = 29
            Else
                UltimoDiaDoMes = 28
            End If
        Case 3                              'Março
            UltimoDiaDoMes = 31
        Case 4                              'Abril
            UltimoDiaDoMes = 30
        Case 5                              'Maio
            UltimoDiaDoMes = 31
        Case 6                              'Junho
            UltimoDiaDoMes = 30
        Case 7                              'Julho
            UltimoDiaDoMes = 31
        Case 8                              'Agôsto
            UltimoDiaDoMes = 31
        Case 9                              'Setembro
            UltimoDiaDoMes = 30
        Case 10                             'Outubro
            UltimoDiaDoMes = 31
        Case 11                             'Novembro
            UltimoDiaDoMes = 30
        Case 12                             'Dezembro
            UltimoDiaDoMes = 31
        Case Else
            UltimoDiaDoMes = -1
    End Select
End Function

Nenhum comentário:

Postar um comentário