Sub ImportBirthdaysToCalendar()
Dim objWorksheet As Excel.Worksheet
Dim nRow As Integer, nLastRow As Integer
Dim objOutlookApp As Outlook.Application
Dim objCalendar As Outlook.Folder
Dim objBirthdayEvent As Outlook.AppointmentItem
Dim objRecurrencePattern As Outlook.RecurrencePattern
'Get the specific sheet
Set objWorksheet = ThisWorkbook.Sheets(1)
nLastRow = objWorksheet.Range("A" & objWorksheet.Rows.Count).End(xlUp).Row
Set objOutlookApp = CreateObject("Outlook.Application")
Set objCalendar = objOutlookApp.Session.GetDefaultFolder(olFolderCalendar)
For nRow = 2 To nLastRow
Set objBirthdayEvent = objCalendar.Items.Add("IPM.Appointment")
'Create birthday events
With objBirthdayEvent
.Subject = objWorksheet.Range("A" & nRow) & Chr(39) & "s Birthday"
.Body = "Born " & Format(Int(objWorksheet.Range("B" & nRow)), "mmmm dd, yyyy")
.AllDayEvent = False
.Start = objWorksheet.Range("B" & nRow)
.BusyStatus = olFree
.ReminderSet = True
.ReminderMinutesBeforeStart = 4320
Set objRecurrencePattern = .GetRecurrencePattern
With objRecurrencePattern
.RecurrenceType = olRecursYearly
.PatternStartDate = objWorksheet.Range("B" & nRow)
.NoEndDate = True
End With
.Save
End With
Next
End Sub