VBA & Macro Problems

How to Create a VBA Reminder Alarm Every Second Day in Excel

John WilsonJohn Wilson Oct 13, 2026 868 views

Question details

The user needs to write a VBA macro that checks the due dates of tasks in an Excel To-Do list and triggers a pop-up reminder with an alarm every alternating day from the date entered.

Create a VBA Reminder Alarm Every Second Day in Excel
Product
Excel
Device & OS
not provided
Scenario
Managing an Excel-based task list where automated, recurring notifications are required for ongoing or overdue activities without manual checking.
Observed behavior
A custom VBA logic is needed to accurately calculate alternating reminder dates and display the corresponding activities in a formatted pop-up.
Before you start

Ensure you have the Developer tab enabled in your Excel ribbon and that your Macro Security settings allow scripts to run so you can safely execute the VBA code.

Solution 1Recommended

Write a VBA Macro Using Date Calculations

Create a custom VBA script that loops through your task list, calculates the difference between the current date and the entered date, and triggers a reminder if the difference is a multiple of two.

To avoid being overwhelmed by multiple pop-ups, it is best practice to group all reminders into a single message box. This solution checks the date mathematically using the Mod operator.

1
Open the VBA Editor

Press Alt + F11 on your keyboard to open the Microsoft Visual Basic for Applications window.

2
Insert a New Module

Click on 'Insert' in the top menu, then select 'Module' to create a blank canvas for your macro.

3
Write the Loop Logic

Write a For loop that goes through your date column. Use the formula 'If DateDiff("d", cell.Value, Date) Mod 2 = 0 Then' to check if exactly an even number of days has passed since the entered date.

4
Group Reminders in a MsgBox

Inside the loop, append the task names to a string variable. After the loop finishes, use 'MsgBox' to display the final compiled list of tasks that require a reminder today.

Write a VBA Macro Using Date Calculations
Save as Macro-Enabled: Remember to save your workbook as an Excel Macro-Enabled Workbook (.xlsm) to ensure your code is not lost when you close the file.

Manage VBA Macros and Task Reminders with WPS Office

WPS Spreadsheet provides robust support for VBA macros, allowing you to seamlessly run your automated reminders and manage complex to-do lists exactly as you would in Microsoft Excel.

  1. 1. Open your To-Do List: Launch WPS Spreadsheet and open your existing task tracker.
  2. 2. Access the VBA Editor: Navigate to the Developer tab on the ribbon and click 'VBA Editor' to input your reminder code.
  3. 3. Run and Save: Execute the code to test your pop-up reminders, then save the file as a Macro-Enabled Workbook.
Fully compatible with Microsoft Excel (.xlsm) formatsBuilt-in VBA editor for writing, editing, and debugging macrosLightweight performance for handling large task lists quicklyFree to use with a clean, intuitive tabbed interface
microsoft office alternative - wps office

Frequently Asked Questions

Can I make the VBA pop-up play an alarm sound?

Yes, you can trigger a default Windows alert sound by placing the 'Beep' command right before your MsgBox line in the VBA code. For custom alarm sounds, you would need to use Windows API calls like 'PlaySound' to play a specific .wav file.

Why isn't my VBA macro running when I open the file?

This is usually caused by macro security settings. Check your Trust Center settings to ensure macros are enabled. Also, confirm that your code is correctly placed inside the 'Workbook_Open' event in 'ThisWorkbook', not just in a standard module.

How do I stop the reminder from triggering for completed tasks?

You should add an extra condition inside your VBA loop to check the status of the task. For example, add 'If cell.Offset(0, 1).Value <> "Completed" Then' before doing the date calculation, assuming the status is stored in the next column.