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/are the macro(s) ?

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
Worksheets("Sheet1").Select
' change B by your column 
' to select all cells in the sheet, remove this line and put Cells.Select
Range("B:B").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
  Code1
Else
  ' replace code2 by your code for not leap year
  Code2
End If
End Sub              
              

Interesting Topics