Key Takeaways 

  • You can build a functional excel time tracker using a simple recorded macro and a button — no advanced VBA skills required. 
  • The tracker logs start and stop times with a single click and automatically calculates elapsed time. 
  • Proper time formatting ensures accurate results, even when totals exceed 24 hours. 
  • Once built, you can extend the tracker for project management, billing, productivity analysis and more. 

What Is an Excel Time Tracker? 

An excel time tracker is a spreadsheet set up to log start and stop times for tasks and automatically calculate how long each task took. Instead of purchasing dedicated time-tracking software or switching between apps, you can build a time tracker in Excel using tools you already have. 

Professionals who organize their lives in Excel often wish it included a built-in timer for common tasks like tracking time spent on specific projects or monitoring an hourly rate. A quick look, however, reveals that Excel does not offer an easy start/stop timer feature out of the box. But Excel does offer features for storing and working with time data. If we put a few of these familiar tools together, we can create a timer in Excel that comes very close to a dedicated start/stop tool without complex VBA programming

Common use cases for an excel time log include: 

  • Tracking billable hours for client projects 
  • Monitoring how long recurring tasks take 
  • Logging meeting durations 
  • Calculating hourly labor costs 
  • Analyzing personal productivity over time 

This guide walks you through building a simple Time Log that: 

  • Inputs start and stop time with the press of a button, and then 
  • Calculates the elapsed time automatically. 

To follow along using our example, download the Time Tracking Worksheet

What You Need Before You Start 

Before you begin setting up your excel time tracking spreadsheet, make sure you have the following in place: 

  • Excel 2010 or later (Windows or Mac, though menu locations may differ slightly on Mac) 
  • The Developer tab enabled in your ribbon (if you don't see it, go to File > Options > Customize Ribbon and check the Developer box) 
  • Your file saved as a macro-enabled workbook (.xlsm format) so Excel preserves your macro code 
  • Basic familiarity with Excel tables and cell formatting 

Here is a quick overview of what you will build:

Feature How It Works
Start time logging NOW() function inserts the current time
Stop time logging NOW() function inserts the current time
Elapsed time calculation Subtraction formula (Stop - Start)
One-click button entry Macro assigned to a Form Control button

Step 1: Set Up Your Time Log Table 

To get started, create a Table with the three columns you'll need: Start Time, Stop Time, and Total Time. Format the cells in each column to the Time format. 

To follow using our example, download Time Tracking Worksheet

Step 2: Record a Macro to Enter the Current Time 

Then, create a Macro that will enter the current time into a cell. The time used will be based on the clock time of the computer running Excel: 

  1. Put your cursor in the cell you want the time entered. 
  2. Click Record Macro on the Developer tab. 
  3. Enter a name for the macro and a description in the Record Macro dialog box, then click OK. 
  4. Hit CTRL+Shift+; (semicolon). This keyboard shortcut enters the current time as a fixed value into the active cell. 

This is the shortcut key for entering the time. You'll get something like this: 

  1. Click Stop Recording. 

Step 3: Edit the Macro to Use the Current Time 

This gives us a starting place, but we'll need to edit the macro a bit to get it to work the way we want. To edit the macro: 

  1. Click Macros button on the Developer tab. 
  2. Select the macro, then click Edit to open the VBA editor

  1. This is the code the macro recorded: ActiveCell.FormulaR1C1 = "1:22 PM"

Range("A2").Select 

Note: The specific time shown will differ based on when you recorded the macro. 

If left, this would simply put the text "1:22 PM" into any cell the macro runs on. Instead, we need to replace "1:22 PM" with the NOW function that tells Excel to enter the current time. Replace the above with: 

ActiveCell.Value = Now() 

The Now() function inserts the current date and time. Because you formatted the cells as Time, Excel will display only the time portion. 

  1. Hit CTRL+S to save the macro changes and the sheet. 

Now, when you run the macro, it will insert the current time into the active cell. 

Step 4: Assign the Macro to a Button 

Next, let's assign the macro to a button so you can record your Start/Stop times with a simple click: 

  1. On the Developer tab, click the Insert dropdown button. 
  2. Choose the Button icon from the Form Controls list. 

  1. Drag the cursor to outline the size and shape you'd like your button. 
  2. Select the macro from the list in the Assign Macro dialog box. And click OK. 

  1. Right-click on the new button and select Edit Text to change the button's label 

Step 5: Test Your Timer and Calculate Elapsed Time 

You now have a quick way to enter time into your spreadsheet without typing a command or copy/pasting from another stopwatch tool on your desktop. Once the times are in the table, you can work with them in any way you might need. Our example Total Time subtracts Start Time from End Time to calculate elapsed time. 

HINT: Set the format for the Total Time cells to type 13:30:55 in the Format Cells dialog box, or type 37:30:55 if your time totals ever total more than 24 hours. 

Practical Uses for Your Excel Time Tracker 

Once your excel macro timer is created, you can begin integrating start/stop times into your spreadsheets. Create any number of Excel formulas to help you track time, manage projects and maintain budgets. 

Or, you can chart elapsed times to help you improve scores. 

Here are several ways to put your new time tracker to work: 

  • Project time tracking: Log how long each phase of a project takes so you can plan future timelines more accurately. 
  • Freelance billing and invoicing: Record billable hours per client and apply Excel finance formulas to your hourly rate to generate invoice line items. 
  • Meeting duration monitoring: Track how long meetings actually run versus their scheduled time to identify patterns and improve scheduling. 
  • Employee productivity analysis: Compare time spent on tasks across team members or time periods to spot bottlenecks. 
  • Training session timing: Use the tracker to time training exercises, quizzes or practice drills and measure improvement over time. 
  • Task estimation improvement: Compare estimated time against actual elapsed time to sharpen your ability to scope future work. 

Troubleshooting Common Issues 

If your excel timer isn't working as expected, check these common issues: 

  • Developer tab not visible: Go to File > Options > Customize Ribbon and check the box next to Developer. This tab is hidden by default in most Excel installations. 
  • Macro security settings blocking execution: Navigate to File > Options > Trust Center > Trust Center Settings > Macro Settings and select "Disable all macros with notification." This lets you choose to enable macros when you open the file. 
  • File not saved as .xlsm: If you save as a standard .xlsx file, Excel will strip out your macro code. Always use Save As and select "Excel Macro-Enabled Workbook (.xlsm)." 
  • Time displays as a decimal instead of HH:MM:SS: Right-click the cell, select Format Cells and choose a Time format. Excel stores time as a fraction of a day, so an unformatted cell may show something like 0.5625 instead of 1:30:00 PM. 
  • Timer shows the wrong time: The NOW() function pulls the time from your computer's system clock. Verify your computer's date and time settings are correct, and confirm the cells are formatted as Time rather than General or Number. 

Build Your Excel Skills with Pryor Learning 

This time tracker is just one example of what you can accomplish when you understand Excel's core features. Pryor Learning offers live and On-Demand Excel training courses designed for every skill level, from spreadsheet basics to advanced automation. Explore our full catalog of Excel courses to keep building practical skills you can use right away. 

Commonly Asked Questions

Yes, you can use keyboard shortcuts and basic formulas to manually log times, but adding a simple recorded macro (as shown in this guide) automates the process with minimal VBA editing. The approach in this tutorial requires only one small change to the recorded macro code, making it accessible even if you have no programming experience. 

Yes, you can use the Application.OnTime method in VBA to schedule a macro to run at a specific time. Supply the desired time using the TimeValue function as the first argument and the macro name as the second argument. For example: Application.OnTime TimeValue("14:00:00"), "YourMacroName". 

Subtract the start time from the stop time using a simple formula like =B2-A2, where B2 contains the stop time and A2 contains the start time. Make sure both cells are formatted as Time, and format the result cell using the custom format [h]:mm:ss if totals may exceed 24 hours. 

The NOW() function pulls the time from your computer's system clock, so if the displayed time is incorrect, check your computer's date and time settings first. Also verify that the cells are formatted as Time rather than General or Number, which can cause unexpected displays. 

Enter your starting time in a cell, then in the next cell below, add 30 minutes using a formula like =A1+TIME(0,30,0) and drag the fill handle down to extend the series. This creates a clean column of evenly spaced 30-minute intervals you can use for scheduling or time blocking. 

Yes, once you have elapsed time logged, you can multiply it by an hourly rate to calculate billable amounts. Use a formula like =C2*24*D2 (where C2 is elapsed time and D2 is the hourly rate) since Excel stores time as a fraction of a day. This gives you accurate dollar amounts ready for invoices.