Change the cell value of date by a word using a macro in an excel report

Not all the time I need to delete a row out of date, in this occasion, I just have to change its value, it can be by a word, an empty cell, etc. For example, all cells with a date of next month (for instance 19/10/2019), I need to put the word “next month”.

macro excel macro excel


When I use the macro ?

To change the date out of scope by a word.


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 MyRange As Range
Dim MyCell As Range
' change B2:B20 by your date column reference
Set MyRange = Range("B2:B20")
For Each MyCell In MyRange.Cells
If VarType(MyCell) = vbDate Then
' for previous month, change >= Int(DateSerial(Year(Date), Month(Date) + 1, 1)) by < Int(DateSerial(Year(Date), Month(Date), 1 - 1))
If MyCell >= Int(DateSerial(Year(Date), Month(Date) + 1, 1)) Then
' change next month by what you want
MyCell = "next month"
End If
End If
Next MyCell
End Sub

Interesting Management