Função no Excel Retornar o Último Dia do Mês com VBA

Formatar data
Formatação Automática de Hora no Excel
2 de agosto de 2010
Inserir campo calculado
CAMPO CALCULADO EM TABELA DINÂMICA
4 de agosto de 2010

Último dia do mês

Download do Arquivo

Hoje disponibilizo uma função para retornar o último dia do mês á partir de uma célula com data.

Esta função é particularmente útil para cálculos financeiros que envolvem carência ou para criar uma lista rápida com os dados de início e final de mês. Como na figura.


//
//

//
//

Último dia do mês

Último dia do mês

'<alteracao> ' 'Função que retorna o último dia do mês Function gfUltimoDiaMes(ByVal vCel As String) As Date Dim lData As Date 'Dia do mês subsequente If Month(vCel) < 12 Then lData = "1/" & (Month(vCel) + 1) & "/" & Year(vCel) Else lData = "1/1" & "/" & Year(vCel) + 1 End If 'Dia do mês subsequente -1, ou seja, último dia do mês anterior lData = lData - 1 'Retorna informação gfUltimoDiaMes = lData End Function '</alteracao>

Esta função pode ser incluída também nas suas funções úteis como um suplemento como já explicado no post Criando Funções Próprias Globais.

A chamada da função =gfUltimoDiaMes(A1), sendo A1 = 1/1/2010 por exemplo e o retorno será 31/1/2010.

Download do Arquivo

Rieper

//
//

//
//

5 Comments

  1. iKruger disse:

    Dim dta As Date
    dta = “15/09/2010”
    dta = DateAdd(“m”, 1, dta) – Day(dta)
    MsgBox dta

  2. Ney disse:

    Olá,
    Caso você não esteja muito familiarizado com o VBA, utilize a função =FIMMÊS() do Excel. Esta função recebe como parâmetros uma data e um número (este número determina quantos meses você quer consultar a partir da data). Exemplos:
    =FIMMÊS(“23/9/2010”;0) retorna 30/09/2010
    =FIMMÊS(“23/9/2010”;2) retorna 30/11/2010
    =FIMMÊS(“23/9/2010”;-1) retorna 31/08/2010

    Mas para isso, deve habilitar o suplemento “Ferramentas de análise” (no 2007, clique no Botão Office > Opções do Excel > Suplementos > Ir; na versão até 2003, menu Ferramentas > Suplementos)

  3. Clauber disse:

    Amigos,

    Aqui vai uma dica: antes de desenvolver qualquer função ou procedimento, pesquisem para saber se já existe uma correspondente que seja NATIVA da linguagem.

    Neste caso, existe a função DateSerial vejam o artigo:
    http://msdn.microsoft.com/pt-br/library/bbx05d0c(v=vs.90).aspx

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.

Inscreva-se no nosso canal do Youtube!


Junte-se ao nosso canal do Youtube. Começamos em abril de 2016, mas já temos mais de 06:00 h de treinamentos gratuitos e este número irá aumentar. Vídeos novos todos os sábados.