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