How to Automatically Move Incomplete Tasks to the Next Day in Excel
Question details
The user wants incomplete tasks in a weekly task tracker to automatically shift to the current or next day's column when the date changes.

- Product
- Microsoft Excel
- Device & OS
- not provided
- Scenario
- Managing a weekly or daily task tracker where unfinished items from previous days (like Sunday to Saturday) need to roll over without manual copy-pasting.
- Observed behavior
- Excel does not natively move or shift task data between daily columns when the system date changes, leaving incomplete tasks in past columns.
Before applying any automation, save a backup copy of your task tracker and ensure you save the file as an Excel Macro-Enabled Workbook (.xlsm) if you plan to use VBA scripts.
Use a VBA Macro to Move Unfinished Tasks Automatically
Create a macro triggered by the Workbook_Open event to physically cut and paste incomplete tasks into the current day's column every time you open the file.
VBA (Visual Basic for Applications) is the most effective way to physically relocate data in Excel. By placing a script in the ThisWorkbook module, Excel can check the system date and task statuses immediately upon opening.
Press Alt + F11 on your keyboard to launch the Microsoft Visual Basic for Applications editor.
In the Project Explorer pane on the left, double-click on 'ThisWorkbook' to open the code window specifically for workbook-level events.
Select 'Workbook' from the left dropdown menu and 'Open' from the right dropdown menu. Write a script that loops through your daily columns, identifies rows where the status is not 'Completed', and cuts/pastes those cells to the column matching Date().
Go to File > Save As, and choose 'Excel Macro-Enabled Workbook (*.xlsm)' from the file format dropdown so your automation runs next time.

Use IF and TODAY Formulas to Display Incomplete Tasks
Utilize Excel's built-in IF and TODAY functions to dynamically show incomplete tasks in today's column without relying on complex macros.
Utilize a Pre-built Task Tracking Template
Save time by downloading a pre-formatted Excel template that already features automated task roll-over logic or dashboard views.
Automate Your Task Trackers Seamlessly in WPS Spreadsheet
WPS Spreadsheet fully supports advanced formulas, VBA macros, and offers an extensive library of professional task-tracking templates, making it easy to automate your daily workflow.
- 1. Download and Install WPS Office: Get WPS Office for free from the official website and install it on your device.
- 2. Open Your Task Tracker: Launch WPS Spreadsheet and open your existing task tracker or create a new one.
- 3. Apply Automation: Press Alt+F11 to open the built-in VBA editor to insert your task-moving macro, or use the formula bar to input your IF/TODAY functions.
- 4. Explore Free Templates: Click on the 'Templates' tab on the homepage to find ready-made task managers that require zero setup.

Frequently Asked Questions
Can I move incomplete tasks to the next day without using VBA?
Yes. While VBA is required to physically cut and paste the data, you can visually accomplish this using advanced formulas like IF and TODAY combined with a master task list, or by using Microsoft Power Automate to create a scheduled flow that updates your Excel file daily.
Why is my VBA macro not moving tasks when I open the workbook?
There are a few potential reasons: macros might be disabled in your Trust Center settings, the macro might not be placed inside the 'ThisWorkbook' module under the 'Workbook_Open' event, or your file might be saved as a standard .xlsx instead of a Macro-Enabled Workbook (.xlsm).
How do I prevent completed tasks from moving to the next day?
You need to include a condition in your VBA script or formula that checks a specific 'Status' column. For example, instruct your VBA code with an 'If' statement to only move the row if the value in the status cell is not equal to 'Done' or 'Completed'.




