Perhaps you have multiple calendars in your Outlook and each one contains a lot of items. If you want to print all of these calendars in a same page, you can read this article to learn 2 easy methods.
Outlook permits you to view several calendars in overlay mode, such that you can see all the items in several calendars in the same page. However, you’re unable to print several calendars in this view. Looking at this issue, here we will introduce you 2 approaches, which allows you to print multiple calendars in a same page.

Method 1: Print the Screenshot of Overlaid Calendars
- For a start, access Calendar pane via “Ctrl + 2”.
- Then, in the navigation pane, check the calendars you want to print.
- Next, click the left arrows on the header of the calendars to overlay them.
- Now, you can see that all the items of the calendars have been shown in the same view, like the following image.
- Subsequently, click “New Items” > “E-mail Message” under ‘Home” tab.
- In the new Message window, put the cursor into the body.
- Then, shift to “Insert” tab and click “Screenshot”.
- Next, choose the first option in the “Available Windows”.
- After that, the overlaid calendars have been put into the body.
- Finally, click “File” > “Print” > “Print” to print out this email.
Method 2: Print Merged Calendars in Same Page via VBA
- At first, press “Alt + F11” keys to access Outlook VBA editor.
- Then, put the following code into a module.
Dim objTempCalendar As Outlook.Folder
Sub CombineMultipleCalendars()
Dim lCalendarCount As Long
Dim i As Long
On Error Resume Next
Set objTempCalendar = Application.Session.GetDefaultFolder(olFolderCalendar).Folders("Temp")
If objTempCalendar Is Nothing Then
Set objTempCalendar = Application.Session.GetDefaultFolder(olFolderCalendar).Folders.Add("Temp")
End If
lCalendarCount = InputBox("How many calendars you want to print?", , "3")
i = 1
While i <= lCalendarCount
Call CopyCalendarItems
i = i + 1
Wend
End Sub
Sub CopyCalendarItems()
Dim objSourceCalendar As Outlook.Folder
Dim objCalendarItem As Outlook.AppointmentItem
Dim objCopiedItem As Outlook.AppointmentItem
Dim objMoviedItem As Outlook.AppointmentItem
Set objSourceCalendar = Outlook.Application.Session.PickFolder
If Not (objSourceCalendar Is Nothing) Then
If objSourceCalendar.DefaultItemType = olAppointmentItem Then
For Each objCalendarItem In objSourceCalendar.Items
Set objCopiedItem = objCalendarItem.Copy
Set objMoviedItem = objCopiedItem.Move(objTempCalendar)
objMoviedItem.Save
Next
End If
End If
End Sub
- Next, run the macro by hitting “F5” key in the “CombineMultipleCalendars” subroutine.
- After that, enter the number of calendars you want to print at the same time.
- Later, as per the number you input just now, you’ll need to select the certain number of calendars in the popup dialog box.
- When macro completes, you can go back to the Calendar navigation pane.
- Now, you’ll see a new “Temp” calendar over there, which is containing all the items of the selected calendars.
- Eventually, you can print out this calendar as usual.
Repair Outlook Problems Rapidly
Have you ever encountered Outlook issues? In that case, what would you do then? In general, in the first place, most users would resort to the built-in repair tool – Scanpst. Yet, as a matter of fact, it can’t fix the severe issues, such as PST damage. Normally, at that point, you have to take aid of a more experienced external tool, say DataNumen Outlook Repair. It can fix Outlook troubles in a jiffy.
Author Introduction:
Shirley Zhang is a data recovery expert in DataNumen, Inc., which is the world leader in data recovery technologies, including sql fix and outlook repair software products. For more information visit www.datanumen.com










