Vba: come ottenere mese e anno dalla data
È possibile utilizzare la proprietà NumberFormat in VBA per ottenere il mese e l’anno da una data.
Ecco un modo comune per utilizzare questa proprietà nella pratica:
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
Questa particolare macro trova il mese e l’anno per ciascuna data nell’intervallo A2:A11 e visualizza questi valori nelle celle corrispondenti nell’intervallo C2:C11 .
L’esempio seguente mostra come utilizzare questa sintassi nella pratica.
Esempio: aggiungi giorni a questo giorno in VBA
Supponiamo di avere il seguente set di dati in Excel che contiene informazioni sulle vendite effettuate da un’azienda in date diverse:
Supponiamo di voler ottenere il mese e l’anno per ogni cella nella colonna della data.
Per fare ciò possiamo creare la seguente macro:
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 eseguiamo questa macro, riceviamo il seguente output:
Tieni presente che la colonna C contiene il mese e l’anno di ciascuna data corrispondente nella colonna A.
Tieni presente che abbiamo utilizzato la proprietà NumberFormat per formattare le date con due cifre per i mesi e quattro cifre per gli anni.
Se volessimo, potremmo scegliere di visualizzare questi valori in un formato diverso.
Ad esempio, potremmo utilizzare la seguente sintassi per visualizzare il mese con una sola cifra (se il mese contiene una sola cifra) e l’anno con due cifre:
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 eseguiamo questa macro, riceviamo il seguente output:
Sentiti libero di giocare con le diverse opzioni di formattazione per visualizzare i valori del mese e dell’anno come desideri.
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre attività comuni in VBA:
Come confrontare le date in VBA
Come convertire la stringa fino ad oggi in VBA
Come calcolare i giorni tra due date in VBA