logo
search
VBA & Macro Problems

How to Automatically Move Incomplete Tasks to the Next Day in Excel

Aamir Naveed AkramAamir Naveed Akram Oct 1, 2026 869 views

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.

How to Automatically Move Incomplete Tasks to the Next Day in Excel
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 you start

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.

Solution 1Recommended

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.

1
Open the VBA Editor

Press Alt + F11 on your keyboard to launch the Microsoft Visual Basic for Applications editor.

2
Access the Workbook Module

In the Project Explorer pane on the left, double-click on 'ThisWorkbook' to open the code window specifically for workbook-level events.

3
Insert the Workbook_Open Code

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().

4
Save as Macro-Enabled

Go to File > Save As, and choose 'Excel Macro-Enabled Workbook (*.xlsm)' from the file format dropdown so your automation runs next time.

Use a VBA Macro to Move Unfinished Tasks Automatically
Enable Macros: You will need to click 'Enable Content' in the yellow security warning bar at the top of Excel the next time you open the workbook for the script to execute.
Enhance Productivity with WPS Office

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. 1. Download and Install WPS Office: Get WPS Office for free from the official website and install it on your device.
  2. 2. Open Your Task Tracker: Launch WPS Spreadsheet and open your existing task tracker or create a new one.
  3. 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. 4. Explore Free Templates: Click on the 'Templates' tab on the homepage to find ready-made task managers that require zero setup.
Seamless compatibility with Microsoft Excel formats, including .xlsx and .xlsm files.Full support for VBA macros and advanced functions like IF, AND, and TODAY.Access to thousands of free, ready-to-use task management and productivity templates.Lightweight, fast, and completely free to download and use.
microsoft office alternative - wps office

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'.