Jonathan developed a worksheet that tracks due dates for various departmental documents. He wondered if there was a way for Excel to somehow alert him if the due date for a particular document was approaching.
There are several ways that this can be done in Excel, and you should pick the method that is best for your purposes. The first method is to simply add a column to your worksheet that will be used for the alert. Assuming your due date is in column F, you could place the following type of formula in column G:
The formula checks to see if the date in cell F3 is earlier than a week from today. If so, then the formula displays "<<<" in the cell. The effect of this formula is to alert you to any date that is either past or within the next week.
Another approach is to use the conditional formatting capabilities of Excel. Follow these steps:
This is a two-tiered format, and you end up with two levels of alert. If the due date is already past, then it shows up as red. If the due date is today or within the next seven days, then it shows up in blue.
Leave your own comment:
Comments for this tip:
LOVE KUMAR 08 Sep 2016, 22:28
Kindly notify me about this tip only
Barry 07 Sep 2016, 05:14
To send emails you will have to resort to macros/VBA, this not difficult but the actual macro depends on the email client you have/want to use.
However, this is only part of the solution. You then have to decide how often you want emails sent e.g. every time the spreadsheet is opened? once only?, weekly?, daily?, hourly?. And then what action stops them being sent.
You have to consider what happens if no one opens the spreadsheet/runs the macro for a few days?
I have several spreadsheets which use a dedicated Gmail account to sent out emails automatically. I use the Windows task scheduler to automatically run them at night some on a daily basis others alternate days, and another fortnightly. The Task Scheduler is configured to determine the frequency. After running the spreadsheet it then closes itself automatically. I use command line switches to indicate to the macro whether it is just me opening the spreadsheet to work on it or whether it is a scheduled running of the sheet. Even this is not perfect as the macro won't run if the particular spreadsheet is already open at the time (I've a solution to this but as yet not implemented).
Some elements like the actual sending of emails is generic, but much of the rest of the current code is customised to the applications themselves. My new solution when I get round to coding it will be a bit more generic.
AND of course if the computer this resides on is powered off then nothing is going to happen.
As you'll gather it's a non-trivial task, another contributor to this forum suggests an app called AlladinPRO (http://aladdinpro.com) but I've not looked at this myself but it is a paid for service.
Dr. Schick 06 Sep 2016, 14:03
Is it possible to set up a customer reminder function that automatically emails customers a reminder?
Anbarasu T 21 Jul 2016, 12:38
This command is helpful for me
Amr El-Atroush 21 May 2016, 06:24
Excellent approche. Can you add a printing macro which selected a rows reached the target date only ? In case of yes is this essential to be run inside the open sheet only ?
Paola 20 May 2016, 16:26
I followed the steps and my Conditional Formatting dialog box looks exactly as the one pictured. But my second rule (blue) is not showing. Only the first one (red). I have excel 2016 - could that be the issue?
Saw Win Cho Lynn 04 May 2016, 00:06
I would like to create due date alert, for instance,
joining date: July 23, 2015
End date: July 22, 2016
So please could you let me know the formula how to create, when the end date approaching to the end date.
Sandip Sasturkar 13 Apr 2016, 07:44
Nilesh 12 Apr 2016, 11:32
Your tip is very useful, which helped me. But i have a query, if i hv a data of 100 customers and i want an alert / pop up reminder for each customer after a month, is that possible in excel. pl suggest.
shiva 12 Apr 2016, 04:29
Thank you verymuch
Suren 08 Apr 2016, 06:59
Very useful in my work sheet.
Gary J. 07 Apr 2016, 11:49
Great article! I had this same problem of handling too many document renewals. Just found out this app on Google called http://aladdinpro.com and it does the job with email reminders.
TT 31 Dec 2015, 05:45
I really appreciate this. i had been beating myself up, as to how would i easily and readily be alert when the audit date for my suppliers is approaching. Thank you sooo much, u are awesome.
JB 15 Dec 2015, 07:21
This is helpful however I am also looking for monthly due dates alert,
i have receivables from my clients by month and I got to many clients and I wanted to at least give me some alerts every specific date on the month of the given date of per client.
I hope theres an option for this such thing.
its like putting on your device calendar alarm and asking the repetition of the alert if monthly,quarterly,semiannual or annually. maybe it can also be done in excel..
Claire 12 Oct 2015, 04:40
I need to construct a formula which will indicate when an item is due to expire
Rajeev 05 Aug 2015, 09:23
I want reminder alerts of Expiry dates of Govt Docs/License renewal/Passport renewal dates/Visa Renewal dates etc which I have already added in my excel sheet.
Janeth 29 Jul 2015, 06:20
Even though I am still learning the ropes I am finding this very useful. Thank you soooo much
Barry 28 Jul 2015, 05:26
@Sam @ Greg
See my comments in the parallel thread on this topic for Excel 2007+ on 23 July 2015
http://excelribbon.tips.net/T009327_Alerts_About_Approaching_Due_Dates.html or click on the link at the bottom of the tip and above the comments.
In the Conditional Format Dialogue box from the "Cell value is " drop down box select "Formula is" and paste in the formula given.
Sam 27 Jul 2015, 12:22
I need some big help ...
I need a formula that can alert or be highlighted in red 30 days after the customer has been inputted in excel ? any thoughts ?
i have date inputted and follow up date colums
Greg 16 Jul 2015, 10:54
I need it to highlight the entire row btw
Greg 16 Jul 2015, 10:52
I have a shared spreadsheet for insurance purposes and it has clients and effective dates. I need to have an alert for when it is 5 months prior to the date, 1 month prior to date and if it is within the current week.
Having a little trouble understanding the help up top can someone help me out?
Barry 30 Jun 2015, 05:51
What you ask for can be done in Excel VBA but it is a non-trivial task and would have to be closely tailored to your spreadsheet, and possibly what email Client you use.
I've done something similar recently. Using the Windows "Task Scheduler" to open a spreadsheet daily (at 1am), the Workbook_Open macro then runs checking for alerts (this can be multiple alerts, as many as you like). If an alert condition exists then an appropriate email is sent containing the details of the alert(s) (what kind of alert, who is involved, relevant dates, etc). Crucially, the fact an email has been sent is logged so that if the routine is run again further emails are not sent. As I use the spreadsheet during the day I avoid the alert system running again by passing a command line parameter in the task scheduler that the macro picks up to determine whether or not to run the alert routines.
In parallel to all this I use conditional formatting to highlight alert conditions with different colours for different levels of alert e.g. orange for up to 0-30 days overdue, red for 30+ days overdue.
Nadia 29 Jun 2015, 11:31
Hello, I am fairly new to excel but I need to set up two particular alerts on a spreadsheet. I need to set up an e-mail alert if I have not received an evaluation in 60 days and I also need to be notified when my client is reaching their 8 week mark for training. Is there a way that I can have these two alerts in the same workbook?
Ex: I have a 16 week training period in cells c1-r1. Everyone starts the training at different periods so each cell would have a different date. Each person is supposed to have weekly evals and I note the date in the appropriate weekly column and create a hyperlink to the eval report. Can I create an alert if they have been 60 days without an evaluation?
Ex2: Again 16 week training, different sheet in workbook, I need to be notified by email when they are reaching week 8 which would be column J.
David 05 Apr 2015, 03:37
Thanks Barry. I really appreciate it!
Barry 03 Apr 2015, 07:06
There is an article and code examples on using Gmail with Excel macros
Hopefully this is solve your problem
Haider 02 Apr 2015, 19:25
i want to create a sheet which will give me daily alerts example if i have tomorrow events its should give me alert in green column in one day advance and when its reach to same date (event date) it should give alert in read column
THANKS YOU SO MUCH FOR YOUR ASSISTANCE
David 02 Apr 2015, 05:25
@Barry - wow, thanks. Unfortunately, I don't use Outlook as I am hooked on Gmail. Nevertheless, thanks for the detailed response.
Barry 31 Mar 2015, 05:38
Yes you can send an email from Excel but is quite restricted unless your email Client has a VB object model accessible by Excel which generally means that you need to be using Microsoft Outlook as your email client.
In either case the "alert" is a continuing condition whereas sending an email is an individual event, so steps have to be taken to only send the email once, and if required build in any re-sending at prescribed intervals.
Ron de Bruin (Excel MVP) has lots of example VBA code on his website for sending emails: http://www.rondebruin.nl/win/section1.htm
I use the following sub-routine to send an email from MS Outlook adapted from a routine from Ron de Bruin:
Sub SendeMail(strTo As String, strSubject As String, strBody As String, Optional strCC As String, Optional strBCC As String, Optional strAttachment As String)
'Working in Excel 2000-2013
Dim OutApp As Object
Dim OutMail As Object
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
On Error Resume Next
.To = strTo
.CC = strCC
.BCC = strBCC
.Subject = strSubject
.Body = strBody & BCSSig
.Send 'or use .Display to display the finished email without sending (useful for debugging)
On Error GoTo 0
Set OutMail = Nothing
Set OutApp = Nothing
This is then simply called in the main macro using "SendeMail" plus the appropriate parameters (To address, Subject and body text plus optionally any CC, BCC, and/or attachments. E.G.
SendeMail "Test@Test.com", "This is the Subject", "This is the body text"
Multiple recipients can be emailed by using a ";" as a delimiter between email addresses in the To, CC, or BCC strings.
David Shalev 30 Mar 2015, 12:35
Is there anyway to have Excel trigger an email alert when a particular condition is met? In other words, rather than a conditional format, have Excel email a notification? My guess is no, but thought I would ask!
Barry 30 Mar 2015, 05:51
As you'll be re-sorting data every time something is changed there should be no necessity to re-sort when the file is opened.
If you place the code below on the codepage for the sheet containing your data this will sort the data whenever any data (date) in column C is changed.
To highlight expired entries use one of the methods mentioned in my other comments to this Tip.
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("C:C")) Is Nothing Then Exit Sub
ActiveSheet.Sort.SortFields.Add Key:=Range("C2"), _
SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
Ahsan Shah 30 Mar 2015, 01:53
Is There anyway to highlight and sort entire row according to date ?
NAME DESIGNATION EXPIRY DATE
123 ABC 26/mar/15
345 ABC 23/MAR/15
678 ABC 20/MAR/15
Now I want to sort them according to expiry dates and want to highlight them Automatically every time i open sheet or present date.
Barry 26 Mar 2015, 06:22
What you want is quite easy, assuming your expiry date is in column M
The term "M3>=TODAY()" makes the AND function false if the expiry date is passed, the other term L3<>"" remove the highlight if there is no date in L3.
Clare 25 Mar 2015, 07:23
Hi I am hoping the first =IF(L$3<(TODAY()+14),"<<<","")
will work, can I add an expired date to this also?
Barry 24 Mar 2015, 06:07
I do this on several spreadsheets that I use for keeping tabs on unpaid invoices.
First of all, select the range of data that this will be applicable to, then select the top leftmost cell(if you have a header row then this will be cell A2). In the Conditional Formatting dialogue box use the drop down on the "Cell Value is" and select "Formula Is".
Assuming the due date is in column H and the Date Paid is in column I then put the following formula in the formula box:
set the formatting that you want if the due date is past, and click OK.
If the top leftmost cell is say A3 then the formula would be =AND($H3<today(),$H3<>"",$I3="")
The secret is in the terms in the AND function the first ($H2<Today()) determines if the date is past due, the second term ($H2<>"") prevents the highlight if the due date is blank, and the the third term ($I2="") takes the highlight off as soon as you enter the Date Paid into the cell (it actually tests for a blank cell so anything in the cell will remove the highlight).
The "$" signs in the formula allow you to conditionally format the whole row but each cell is still testing the same columns, so the whole row will be lighted not just the Date cells.
In my spreadsheets I have usually a second condition which turns the crow red if the Date Due is 30days overdue (use the term $H2+30<today(). This needs to be the first condition to override any other condition set.
Clare 23 Mar 2015, 08:19
What I am trying to do is have a column highlighted when a due date is approaching & past. The due date I have is in another cell.
This is a warning to me when I need to chase items that are late or overdue.
I would then like to be able to add my approval date in the column and the cell then not be highlighted.
hoping you can help!
Marc T. 13 Mar 2015, 12:07
Thank you this is exactly what I was looking for.
Marie C. 10 Mar 2015, 14:58
As an Excel newbie, I really appreciate your tips and tricks. I was having trouble constructing a due date formula and after carefully following your step by step guide I identified the issue. I am so grateful for you taking the time to share your knowledge and expertise! Sincerely, Marie C.