VBA - Convertendo o número do mês no nome por extenso - Convertendo o nome por extenso do mês no número








Blog Office VBA | Blog Excel | Blog Access | 

Hello folks!

Ao lidar com periodicidades móveis como MAT (Moving Annual Total), YTD (Year to Date), QTD (Quarter-To-Date), MTD (Month-To-Date), Year-ending, etc... Talvez necessitemos ajustar os nossos meses movendo-os dinamicamente.
How to convert month number to month name
Convert numbers to month names
Convert Month Name To Number
Convert Month Number to Month Name in Report based on query

A movimentação dos meses ajustada nas apresentações dos gráficos e das tabelas dos nossos Dashboards e Scorecards, invariavelmente requererão que os meses sejam manipulados internamente por somá-los ou subtraí-los, adequando as apresentações dos mesmos. Para que este feito fosse facilmente implementado precisaríamos transformar Novembro em 11 11 em Novembro, por exemplo. Como ?

Para o vosso regalo, seguem funções abaixo:

Function ABL_Convert_Number2MonthName (ByVal lngMonth As Long) As String

    ' Author:                     Date:               Contact:                 URL:

    ' André Bernardes             28/06/2011 13:58    bernardess@gmail.com     http://inanyplace.blogspot.com/

    ' Application: ®

    ' Converte o número do mês no respectivo nome (11 em Novembro).

    ' Listening: 20 - Flynn Lives - Daft Punk - TRON Legacy Soundtrack [Complete Edition](MP3@320Kbps)  

    On Error GoTo Err_GetMonthName

    Dim dteTemp As Date

    If lngMonthName < 1 And lngMonthName > 12 Then

        Let ABL_Convert_Number2MonthName = vbNullString    

        Exit Function

    End If

    Let dteTemp = DateSerial(Year(Date), lngMonth, 1)

    Let ABL_Convert_Number2MonthName = Format(dteTemp, "mmmm")

    Exit Function

Err_GetMonthName:

    Let ABL_Convert_Number2MonthName = vbNullString

End Function

Function ABL_Convert_MonthName2Number (monthName As String) As Integer
    ' Author:                     Date:               Contact:                 URL:

    ' André Bernardes             28/06/2011 14:01    bernardess@gmail.com     http://inanyplace.blogspot.com/

    ' Application: ®

    ' Converte o nome de um mês em número (Novembro em 11).

    ' Listening: 20 - Flynn Lives - Daft Punk - TRON Legacy Soundtrack [Complete Edition](MP3@320Kbps)

    ' try to convert month name to actual date type

    Dim dtestr As String

    Let dtestr = monthName & "/1/2011"

    Dim dte As Date

    On Error Resume Next

    Let dte = CDate(dtestr)

If Err.Number <> 0 Then

  Let ABL_Convert_MonthName2Number = -999

  Exit Function

End If

    On Error GoTo 0

    Let ABL_Convert_MonthName2Number = Month(dte)

End Function

Vocabulário:

YTDYear to Date

QTD = É um período iniciado no começo do trimestre em curso, terminando na data atual.

MAT = Moving Annual Total.

MTD = Month-To-Date


Tags: VBA, Office, Month, Mês, converter

Nenhum comentário:

Postar um comentário

diHITT - Notícias