Come trovare il primo giorno del mese utilizzando vba (con esempio)
È possibile utilizzare la funzione DateSerial() in VBA con un valore pari a 1 per l’argomento giorno per trovare il primo giorno del mese per una data in una cella particolare.
Ad esempio, puoi utilizzare la seguente sintassi per trovare il primo giorno del mese per la data nella cella A1 e restituire tale data nella cella B1 :
dateVal = DateValue(Range(" A1 "))
Range(" B1 ").Value = DateSerial(Year(dateVal), Month(dateVal), 1)
Ad esempio, se la cella A1 contiene 1/5/2023 , la cella B1 restituirà 1/1/2023 .
L’esempio seguente mostra come utilizzare questa funzione nella pratica.
Esempio: utilizzare VBA per trovare il primo giorno del mese
Supponiamo di avere il seguente set di dati in Excel che contiene informazioni sulle vendite effettuate in date diverse in un’azienda:
Supponiamo di voler trovare il primo giorno del mese per ciascuna data nella colonna A e restituire la data nella cella corrispondente nella colonna C.
Possiamo usare la seguente sintassi per fare questo:
SubFirstDayOfMonth ()
Dim i As Integer
For i = 2 To 11
dateVal = DateValue(Range(" A " & i))
Range(" C " & i).Value = DateSerial(Year(dateVal), Month(dateVal), 1)
Next i
End Sub
Quando eseguiamo questa macro, riceviamo il seguente output:
Ciascuna delle date nella colonna C rappresenta il primo giorno del mese per la data corrispondente nella colonna A.
Nota n. 1: nel codice abbiamo utilizzato For i = da 2 a 11 poiché le celle da A2 ad A11 contenevano le date a cui eravamo interessati. Sentiti libero di modificare questo intervallo in base all’intervallo di celle che desideri utilizzare.
Nota n. 2 : puoi trovare la documentazione completa della funzione DateSerial() in VBA qui .
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre attività comuni utilizzando VBA:
Come ordinare per data in VBA
Come aggiungere se tra due date in VBA
Come contare maggiore della data in VBA