Update the year using a macro in an excel report

This code is only to update the year for a full sheet or for a specific range. It will find first the year used by the file then it will update to the current year. Additionally, I will also explain how to detect a leap year (leap day of February 29).

macro excel macro excel


When I use the macro ?

To update my yearly report for every new year.


How to create the macro ?

Read How to create, edit, hide and select a macro in an excel report


How to create the button to associate it with the macro ?

Read How to create a button and associated it to a macro in an excel report


How is the macro ?

Copy the code below and paste it into your macro. You will see my comments in green if exist so follow the help to adapt to your need.

Sub test()
Dim dyear As Date
' change B2 by the cell where to look for the year
dyear = Range("B2")
' change Sheet1 by your sheet name
' change B by your column
' to select all cells in the sheet, remove this line and put Cells.Select
Selection.Replace What:=Year(dyear), Replacement:=Year(Now())
End Sub

For the leap year, this is the code:

Sub test()
IsLeapYear = Month(DateSerial(Y, 2, 29)) = 2
If IsLeapYear = True Then
' replace code1 by your code for leap year
' replace code2 by your code for not leap year
End If
End Sub

Interesting Management