Thanks..
Sub overlap()
Dim Rng As Range, Dn As Range, n As Long, Cb As Range, Dt As Date
Dim Dic As Object, Msg As String, CbRng As Range, nStr As String, Sp As Variant
Set Dic = CreateObject("scripting.dictionary")
Dic.CompareMode = vbTextCompare
Set CbRng = Range("AS8:AS11")
For Each Cb In CbRng
If Cb Then
nStr = nStr & IIf(nStr = "", Cb.Offset(, 1).Value, ", " & Cb.Offset(, 1).Value)
End If
Next Cb
Sp = Split(nStr, ", ")
Set Rng = Range("B7:B12")
Rng.Offset(, 3).Interior.Color = 49407
If UBound(Sp) > 0 Then
For n = 0 To UBound(Sp)
For Each Dn In Rng
If Dn.Value = Sp(n) Then
For Dt = Dn.Offset(, 1).Value To Dn.Offset(, 2).Value
If Not Dic.Exists(Dt) Then
Dic.Add Dt, Dn
Else
Set Dic(Dt) = Union(Dic(Dt), Dn)
Dic(Dt).Offset(, 3).Interior.Color = vbRed
End If
Next Dt
End If
Next Dn
Next n
End If
Dim K As Variant, Temp As String, nRng As Range, R As Range
For Each K In Dic.keys
If Dic(K).Count > 1 Then
If nRng Is Nothing Then Set nRng = Dic(K) Else Set nRng = Union(nRng, Dic(K))
End If
Next K
If Not nRng Is Nothing Then
For Each R In nRng
Msg = Msg & "Overlap Dates" & vbLf & R.Value & " From:- " & R.Offset(, 1).Value & " To " & R.Offset(, 2).Value & vbLf
Next R
MsgBox Msg
Else
MsgBox "No overlap Dates Between " & nStr
End If
End Sub