You didn't say how to report so I just added in the next 2 columns
Option Explicit
Sub Macro1()
Const constID As Long = 1
Const constDate As Long = 5
Const constInstances As Long = 6
Const constDays As Long = 7
Dim rSickLeaves As Range, rSickLeavesNoHeader As Range
Dim iRow As Long, iDays As Long, iInstances As Long
'set the data
Set rSickLeaves = ActiveSheet.Cells(1, 1).CurrentRegion
Set rSickLeavesNoHeader = rSickLeaves.Cells(2, 1).Resize(rSickLeaves.Rows.Count - 1, rSickLeaves.Columns.Count)
'sort to be sure
With ActiveSheet.Sort
.SortFields.Clear
.SortFields.Add Key:=rSickLeavesNoHeader.Columns(constID), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
.SortFields.Add Key:=rSickLeavesNoHeader.Columns(constDate), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
.SetRange rSickLeaves
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
iInstances = 0
iDays = 0
With rSickLeaves
For iRow = .Rows.Count To 2 Step -1
'same ID in N and N-1?
If .Cells(iRow, constID).Value = .Cells(iRow - 1, constID).Value Then
iDays = iDays + 1
'Date in N not the date after date in N-1?
If .Cells(iRow, constDate).Value <> .Cells(iRow - 1, constDate).Value + 1 Then
iInstances = iInstances + 1
End If
'new ID, so write counts and re-init
Else
.Cells(iRow, constInstances).Value = iInstances + 1
.Cells(iRow, constDays).Value = iDays + 1
iInstances = 0
iDays = 0
End If
Next iRow
End With
End Sub