Função Mês VBA - Como obter o número do mês a partir da data?

Excel VBA Mês

A função de mês VBA é uma função embutida usada para obter o mês de uma data e a saída retornada por esta função é um número inteiro variando de 1 a 12. Esta função extrai apenas o número do mês do valor de data fornecido.

Por exemplo, se a data for 28 de maio de 2019, para extrair o número do mês dessa data, podemos usar a função MÊS.

Como usar a função de mês no VBA?

Abaixo está a sintaxe da função MONTH.

Precisamos apenas fornecer a data da qual estamos tentando extrair o número do mês.

Exemplo 1

Veremos como escrever um código para extrair o número do mês da data. Vamos tomar a data como “10 th outubro 2019".

Etapa 1: inicie o procedimento de macro.

Código:

Sub Month_Example1 () End Sub

Etapa 2: Defina a variável para conter o valor da data. Como estamos armazenando o valor dos dados, nosso tipo de dados deve ser “Data”. Portanto, declare a variável e atribua o tipo de dados como “Data” à variável declarada.

Código:

Sub Month_Example1 () Dim DDate As Date End Sub

Passo 3: Para essa variável, atribuir o valor data de 10 th outubro 2019.

Código:

Sub Month_Example1 () Dim DDate As Date DDate = "10 Out 2019" End Sub

Etapa 4: agora atribua o número do mês para declarar mais uma variável como “Inteiro”.

Código:

Sub Month_Example1 () Dim DDate As Date Dim MonthNum As Integer DDate = "10 Out 2019" End Sub
Nota: O motivo pelo qual declaramos a variável como Inteiro, porque nossa contagem de meses termina apenas em 12. Portanto, o tipo de dados inteiro pode conter esse número.

Passo 5: Para esta variável, abriremos a função MONTH.

Código:

Sub Month_Example1 () Dim DDate As Date Dim MonthNum As Integer DDate = "10 Out 2019" MonthNum = Mês (End Sub

Passo 6: Função do mês solicitando a “Data” que precisa ser fornecida para extrair o número do mês. Como já armazenamos a data desejada na variável “DDate”, forneça esta variável como o parâmetro de entrada para a função de mês.

Código:

Sub Month_Example1 () Dim DDate As Date Dim MonthNum As Integer DDate = "10 Out 2019" MonthNum = Mês (DDate) End Sub

Passo 7: Agora a função “Mês” retornará o número do mês da data fornecida para a variável “MêsNum” e finalmente mostrará o resultado em uma caixa de mensagem em VBA.

Código:

Sub Month_Example1 () Dim DDate As Date Dim MonthNum As Integer DDate = "10 Out 2019" MonthNum = Mês (DDate) MsgBox MonthNum End Sub

Execute o código e veja o número do mês na caixa de mensagem.

Resultado:

Portanto, o número do mês da data fornecida é 10, ou seja, mês de outubro.

Exemplo # 2

Agora vamos pegar referências de células para codificação. Abaixo está a data que temos na planilha.

Portanto, do valor da data da célula A2, precisamos extrair o número do mês para a célula B2.

Código:

Sub Month_Example2 () Intervalo ("B2"). Value = End Sub

Abra a função MONTH e forneça a data como o valor RANGE A2.

Código:

Sub month_Example2 () Range ("B2"). Value = Month (Range ("A2")) End Sub

A razão pela qual fornecemos célula do intervalo A2 é porque, desta vez, nossa data está na célula A2, então a mesma será a referência.

Agora execute o código e obtenha o número do mês a partir da data na célula B2.

Aqui está, temos o número do mês na célula B2.

Exemplo # 3

Extraímos o mês para a data de uma única célula, mas e se tivermos várias linhas de dados como a seguinte.

Nesses casos, precisamos percorrer as células e executar a tarefa de extrair o número do mês de cada data respectiva.

O código abaixo fará o trabalho por nós.

Código:

Sub month_Example3 () Dim k As Long For k = 2 To 12 Cells (k, 3) .Value = Month (Cells (k, 2) .Value) Next k End Sub

O que esse código fará é percorrer as linhas de 2 a 12, extrair o número do mês da segunda coluna e armazenar o resultado na terceira coluna.

Coisas para lembrar aqui

  • MONTH é uma função de planilha, bem como uma função VBA.
  • MONTH requer uma referência de data válida, caso contrário, obteremos uma mensagem de erro.
  • Se o número do mês for 12, será exibida uma mensagem de erro.

Artigos interessantes...