Домашняя страница Undo Do Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Отправка письма по значению в ячейке - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Excel и другие приложения » Outlook » Отправка письма по значению в ячейке (Макросы/Sub)
Отправка письма по значению в ячейке
VIDEO56 Дата: Вторник, 15.03.2016, 15:38 | Сообщение № 1
Группа: Проверенные
Ранг: Обитатель
Сообщений: 262
Репутация: 23 ±
Замечаний: 0% ±

Excel 2010
Подскажите что изменить в коде чтобы письма формировались только при 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

[/vba]

Автор - VIDEO56
Дата добавления - 15.03.2016 в 15:38
al-Ex Дата: Вторник, 15.03.2016, 16:48 | Сообщение № 2
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 147
Репутация: 53 ±
Замечаний: 20% ±

Excel 2010
только при 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
'тут проверяем содержание ячейки (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
[/vba]


Сообщение отредактировал al-Ex - Вторник, 15.03.2016, 19:52
 
Ответить
Сообщение
только при 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
'тут проверяем содержание ячейки (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
[/vba]

Автор - al-Ex
Дата добавления - 15.03.2016 в 16:48
Мир MS Excel » Вопросы и решения » Excel и другие приложения » Outlook » Отправка письма по значению в ячейке (Макросы/Sub)
Страница 1 из 11
Поиск:

Яндекс цитирования
© 2010-2016 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!