Create Appointments for Every X Workday

Last reviewed on December 30, 2013   —  17 comments

A common request is how to make recurring appointments for every x number of workdays. Unfortunately Outlook does not offer this type of recurring option. You can use a third party add-in, WS:Repeat Appointment II, to create recurrences not supported by Outlook. If this is a frequent need, its well worth the cost but if your needs are infrequent, you can use Excel to create the recurrence pattern and import it into Outlook.

Use VBA to create appointments for every xx weekday

You can either start with a blank workbook and create your own fields which will need mapped to Outlook's fields when you import it, or export your calendar from Outlook to Excel, then delete the appointments from the workbook, leaving just the field names. Or download an Excel workbook with the calendar fields and a few lines of sample data.

If you create the workbook yourself, you should use the start and end time fields, along with the subject field and the date field, of course. Any other fields are optional.

Prepare the Excel Workbook

Row 1 contains the field names.

Cell A2 contains the starting date.

Cell A3 contains the formula you need to calculate workdays: =WORKDAY(A2,4,F2:F147) The first parameter is the cell it bases the date calculation on. The second is the number of days. In my example, the calculation is for the 4th workday. The final parameter is an array of holidays. You are only required to to use the first two parameters =WORKDAY(A2,4) if you don't need to consider holidays, only weekdays.

Drag Cell A3 down to fill the cells. If the subject and time fields will be the same for each appointment, drag to fill these cells too. Use the method at Create Countdown Calendar Items to fill the subject field with consecutive numbers, such as Meeting 1, Meeting 2, etc.

Enter the dates to be skipped in Column F.

I used the "Use Custom View Data in Another Program" method to display a list of the holiday dates in Outlook, which I copied and pasted into Excel. You'll need to change the Field format in Outlook to display just the date for it to work. Do this by right clicking on the field name and choose Format columns.

Use Excel to create appointments

  1. When you are finished creating the spreadsheet, select and copy the cells you will be importing then use Paste Special, Values to paste the data in Sheet 2. By doing this you will avoid the need to make a named range.
  2. Save Sheet 2 using Comma Separated Value (CSV) format.

If you want to save the workbook with the formulas intact, choose Save As and save it in Excel format.

To import the appointments into Outlook

In Outlook:

  1. Select File, Import and Export (File, Open, Import in Outlook 2010)
  2. Select Import from another program or file.
  3. Select the program or file type. In this example, we're using Comma Separated Value (CSV)
  4. Browse for the file. (If the file is still open in Excel, it will cause an error.)
  5. Select the Calendar folder you want to Import the file into.
  6. If fields need mapped, use the Map Custom fields dialog.
  7. Outlook doesn't recognize Date, so I need to drag it to Start Date and Outlook adds it to the Mapped From column next to Start Date.
    use the map custom fields dialog
  8. Click Finish to import your items.

About Diane Poremsky

Diane Poremsky
A Microsoft Outlook Most Valuable Professional (MVP) since 1999, Diane is the author of several books, including Outlook 2013 Absolute Beginners Book. She also created video training CDs and online training classes for Microsoft Outlook. You can find her helping people online in Outlook Forums as well as in the Microsoft Answers and TechNet forums.

Please post long or more complicated questions at Outlook forums by

17 responses to “Create Appointments for Every X Workday”

  1. Bernie Brightman

    So much work is unnecessary. Just choose weekly occurrence, select multiple days and you're done.

    1. Diane Poremsky

      That won't handle every 4th weekday and skip holidays. It will make every xx Monday etc.

  2. Becky

    So...if I want to schedule a task to be completed every other Sat & Sun I have to go through that long rigamarole to do it?

    1. Diane Poremsky

      Only if the pattern isn't available in Outlook - the weekly pattern to recur every 2 weeks on sat and sun. I think if you start it on a Sat it's due, it will work.
      Task recurrence pattern

  3. Neil

    Exactly what I need and I have followed the above, but I need to invite more than one attendee, however when I use;;

    It doesn't seem to import this when converting to outlook and therefore no invites are sent out. Please advise how to import RequiredAttendees into Outlook so it sends invites?

    1. Diane Poremsky

      I think you'll need to use VBA to send meeting requests but on multiple names, use quotes around them so Outlook knows they belong together.

    2. Diane Poremsky

      A macro is here - Import Appointments FROM Excel - Outlook 2013 doesn't support links to contacts, so it needs to be edited a bit. To make it a meeting, you need to add the recipients and set the meeting status: objAppt.MeetingStatus = olMeeting

    3. Diane Poremsky

      I have an updated version of that macro that at create-meetings-csv-file

  4. Ellen Farley

    I followed the instructions and imported the list, however, it didn't create appointments on my calendar, any suggestions?

    1. Diane Poremsky

      Step through the macro using F8 or the Step into command on the Debug menu. Does it skip any lines?

  5. Amanda Hunt

    Hi, I created your spreadsheet and it worked perfectly but how do I get them to recur on the same working day each month? Once I mark them as completed they disappear.

    1. Diane Poremsky

      Appointments are disappearing or do you mean tasks? (Since they can be marked complete.)

  6. Amanda Hunt

    I am trying to make recurring tasks that occur on a particular working day of the month (i.e. working day 7). I have created them using your method but when I mark them complete for the month I'm in they don't re-appear in the next month.


    1. Diane Poremsky

      For tasks, you need to use the task pattern and regenerate them. That can't be set on import, you need to either do it manually or using VBA.

  7. Ashley

    How would I create appointments for every x workday of the month? For example, what if I only wanted the appointment on the 5th working day of every month, meaning there would only be one day each month that this appointment is occurring?

    1. Diane Poremsky

      use this formula in the spreadsheet: =WORKDAY(A2,5-1) - column A (or another column) has the 1st of each month - 9/1/2014, 10/1/2014 etc. If you need other workdays, change the 5 to the desired value. (You could use 4 instead of 5-1, but this serves as a reminder that it's the 5th working day.)

  8. Marcus Ahlbäck

    Nice, thank you!

Leave a Reply

If the Post Comment button disappears, press your Tab key.

This site uses XenWord.