Untested but probably
lRow = xlSheet.Range("B" & xlSheet.Rows.Count).End(xlUp).Row
For Each olItem In olShareInbox.Items.restrict("[UNREAD]=True")
For iRow = 1 To lRow 'declare the variable iRow as integer
'lRow = xlSheet.Range("A" & xlSheet.Rows.Count).End(xlUp).Row ' + 1
If InStr(1, olItem.Subject, xlSheet.Range("B" & iRow).value) > 0 Then ' each email subject line consists of date or some code which changes daily so I will just mention the unique part of the subject line which remains same daily.
If olItem.attachments.Count > 0 Then
For Each olAttach In olItem.attachments
strName = olAttach.FileName
olAttach.SaveAsFile strPath & strName
olItem.UnRead = False ' Once the attachment is downloaded I want the macro to mark the mail as Read
Next olAttach
End If
Exit For 'subject found so stop looking
End If
Next iRow
Next olItem