Подскажите что изменить в коде чтобы письма формировались только при 2 условиях "Вася" и "Петя" [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column <> 14 Then Exit Sub Dim R&: R = Target.Row: If R< 3 Then Exit Sub With CreateObject("Outlook.Application") With .CreateItem(0) .To = "@mail.ru; @mail.ru;@mail.ru" .Subject = "Оплата по договору № " & Cells(R, 7) & " от " & Cells(R, 10) & " " & Cells(R, 2) .Body = "Контрагент: " & Cells(R, 2) & vbCrLf & _ "Договор № " & Cells(R, 7) & " от " & Cells(R, 10) & vbCrLf & _ "Сумма по договору: " & Cells(R, 8) & vbCrLf & _ "Оплачено: " & Cells(R, 14) & " (" & Cells(R, 13) & ")" & vbCrLf & _ "Место нахождения заявки " .Display ' если нужно посмотреть письмо .Send End With End With End Sub
[/vba]
Подскажите что изменить в коде чтобы письма формировались только при 2 условиях "Вася" и "Петя" [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column <> 14 Then Exit Sub Dim R&: R = Target.Row: If R< 3 Then Exit Sub With CreateObject("Outlook.Application") With .CreateItem(0) .To = "@mail.ru; @mail.ru;@mail.ru" .Subject = "Оплата по договору № " & Cells(R, 7) & " от " & Cells(R, 10) & " " & Cells(R, 2) .Body = "Контрагент: " & Cells(R, 2) & vbCrLf & _ "Договор № " & Cells(R, 7) & " от " & Cells(R, 10) & vbCrLf & _ "Сумма по договору: " & Cells(R, 8) & vbCrLf & _ "Оплачено: " & Cells(R, 14) & " (" & Cells(R, 13) & ")" & vbCrLf & _ "Место нахождения заявки " .Display ' если нужно посмотреть письмо .Send End With End With End Sub
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column <> 14 Then Exit Sub Dim R&: R = Target.Row: If R< 3 Then Exit Sub 'тут проверяем содержание ячейки (R,2) If (Cells(R, 2) Like "*Петя*") Or (Cells(R, 2) Like "*Вася*") Then 'если контрагент "Вася" или "Петя" выполняем далее With CreateObject("Outlook.Application") With .CreateItem(0) .To = "@mail.ru; @mail.ru;@mail.ru" .Subject = "Оплата по договору № " & Cells(R, 7) & " от " & Cells(R, 10) & " " & Cells(R, 2) .Body = "Контрагент: " & Cells(R, 2) & vbCrLf & _ "Договор № " & Cells(R, 7) & " от " & Cells(R, 10) & vbCrLf & _ "Сумма по договору: " & Cells(R, 8) & vbCrLf & _ "Оплачено: " & Cells(R, 14) & " (" & Cells(R, 13) & ")" & vbCrLf & _ "Место нахождения заявки " .Display ' если нужно посмотреть письмо .Send End With End With End If End Sub
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column <> 14 Then Exit Sub Dim R&: R = Target.Row: If R< 3 Then Exit Sub 'тут проверяем содержание ячейки (R,2) If (Cells(R, 2) Like "*Петя*") Or (Cells(R, 2) Like "*Вася*") Then 'если контрагент "Вася" или "Петя" выполняем далее With CreateObject("Outlook.Application") With .CreateItem(0) .To = "@mail.ru; @mail.ru;@mail.ru" .Subject = "Оплата по договору № " & Cells(R, 7) & " от " & Cells(R, 10) & " " & Cells(R, 2) .Body = "Контрагент: " & Cells(R, 2) & vbCrLf & _ "Договор № " & Cells(R, 7) & " от " & Cells(R, 10) & vbCrLf & _ "Сумма по договору: " & Cells(R, 8) & vbCrLf & _ "Оплачено: " & Cells(R, 14) & " (" & Cells(R, 13) & ")" & vbCrLf & _ "Место нахождения заявки " .Display ' если нужно посмотреть письмо .Send End With End With End If End Sub