Crie uma variável booleana, defina-a como false antes do loop e altere-a para true apenas quando a comparação das datas for verdadeira. Então, antes de enviar o email, verifique o estado da variável. Você pode fazer essas alterações:
1 - Antes do loop , acima da linha For Each rngCell In .Range(rngStart, rngEnd) coloque a linha ValidDate = False .
2 - Depois de If rngCell.Value - Int(Now) = 7 Then colocar a linha ValidDate = True .
3 - Antes da linha Set OutlookApp = CreateObject("Outlook.Application") colocar a linha: If ValidDate = True Then
4- Feche o bloco if colocando após .Send End With a linha End If .