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
.