Прежде всего, вы говорите:
в столбце A он будет фильтровать данные, содержащие «AD»
в то время как в коде вы пишете:
If Range("s" & i).Value <> "AD"
в котором указан столбец S
, а не A
- обратите внимание на это.
Вы неправильно поняли If
, потому что это выглядит примерно так:
If Range("s" & i).Value <> "AD" Then
If Range("G" & i).Value = "13" Or Range("G" & i).Value = "14" Then
' do all logic here
End If
End If
Что также можно переписать как:
If Range("s" & i).Value <> "AD" And (Range("G" & i).Value = "13" Or Range("G" & i).Value = "14") Then
' do all logic here
End If
У вас нет разделения между теми состояниями, которые вы хотите лечить отдельно.
Это должно быть записано как:
If Range("s" & i).Value <> "AD" Then
' send mail to recipient A
End If
If Range("G" & i).Value = "13" Or Range("G" & i).Value = "14" Then
' send mail to recipient B
End If