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 e 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_GetMonthNameDim dteTemp As DateIf lngMonthName < 1 And lngMonthName > 12 Then
Let ABL_Convert_Number2MonthName = vbNullString
Exit Function
End IfLet dteTemp = DateSerial(Year(Date), lngMonth, 1)
Let ABL_Convert_Number2MonthName = Format(dteTemp, "mmmm")Exit FunctionErr_GetMonthName:
Let ABL_Convert_Number2MonthName = vbNullString
End FunctionFunction 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 StringLet dtestr = monthName & "/1/2011"
Dim dte As DateOn Error Resume NextLet dte = CDate(dtestr)If Err.Number <> 0 Then
Let ABL_Convert_MonthName2Number = -999
Exit Function
End IfOn Error GoTo 0Let ABL_Convert_MonthName2Number = Month(dte)
End Function
Vocabulário:
YTD = Year 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