Vba: como obter mês e ano a partir da data


Você pode usar a propriedade NumberFormat no VBA para obter o mês e o ano de uma data.

Esta é uma maneira comum de usar essa propriedade na prática:

 SubGetMonthYear ()

Dim i As Integer

For i = 2 To 11
    Range(" C " & i).Value = DateValue(Range(" A " & i))
    Range(" C " & i).NumberFormat = " mm/yyyy "
Next i

End Sub

Esta macro específica encontra o mês e o ano para cada data no intervalo A2:A11 e exibe esses valores nas células correspondentes no intervalo C2:C11 .

O exemplo a seguir mostra como usar essa sintaxe na prática.

Exemplo: Adicione dias a este dia no VBA

Suponha que temos o seguinte conjunto de dados no Excel que contém informações sobre as vendas realizadas por uma empresa em datas diferentes:

Suponha que queiramos obter o mês e o ano de cada célula na coluna de data.

Podemos criar a seguinte macro para fazer isso:

 SubGetMonthYear ()

Dim i As Integer

For i = 2 To 11
    Range(" C " & i).Value = DateValue(Range(" A " & i))
    Range(" C " & i).NumberFormat = " mm/yyyy "
Next i

End Sub

Quando executamos esta macro, recebemos a seguinte saída:

Observe que a coluna C contém o mês e o ano de cada data correspondente na coluna A.

Observe que usamos a propriedade NumberFormat para formatar datas com dois dígitos para meses e quatro dígitos para anos.

Poderíamos optar por exibir esses valores em um formato diferente, se quiséssemos.

Por exemplo, poderíamos usar a seguinte sintaxe para exibir o mês com um único dígito (se o mês contiver apenas um dígito) e o ano com dois dígitos:

 SubGetMonthYear ()

Dim i As Integer

For i = 2 To 11
    Range(" C " & i).Value = DateValue(Range(" A " & i))
    Range(" C " & i).NumberFormat = " m/yy "
Next i

End Sub

Quando executamos esta macro, recebemos a seguinte saída:

Sinta-se à vontade para brincar com as diferentes opções de formatação para exibir os valores de mês e ano conforme desejar.

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras tarefas comuns em VBA:

Como comparar datas em VBA
Como converter string para data em VBA
Como calcular dias entre duas datas em VBA

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *