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

Вход

Регистрация

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

 

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

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Отправка письма с разными темами из ячейки, когда ячеек ок
Гость Дата: Среда, 24.08.2011, 12:25 | Сообщение № 1
Группа: Гости
Здравствуйте, есть макрос:
Code
Function Письмо(sTo As String, sSabj As String)
Dim OutApp As Object
Dim OutMail As Object
Dim cell As Range

Application.ScreenUpdating = False
Set OutApp = CreateObject("Outlook.Application")
OutApp.Session.Logon
On Error GoTo cleanup
Set OutMail = OutApp.CreateItem(0)
On Error Resume Next

With OutMail
.To = sTo
.Subject = sSabj
.Display
End With

On Error GoTo 0
Set OutMail = Nothing

cleanup:
Set OutApp = Nothing
Application.ScreenUpdating = True
End Function

Sub Письмо2()
Dim a
For i = 2 To [b1].End(xlDown).Row
a = Письмо(Cells(i, 9).Value, Cells(i, 15).Value)
Next
End Sub


Идея была такая, напротив каждой строки есть кнопка "отправить", при нажатии программа Outlook создает новое письмо, с определенным адресом и темой, взятой из определенной ячейки. К сожалению, данный макрос, создает столько писем, сколько заполнено строк.
Подскажите как необходимо модернизировать макрос, что бы он срабатывал только на последнюю заполненную ячейку с темой
Пример во вложении. Заранее спасибо smile
 
Ответить
СообщениеЗдравствуйте, есть макрос:
Code
Function Письмо(sTo As String, sSabj As String)
Dim OutApp As Object
Dim OutMail As Object
Dim cell As Range

Application.ScreenUpdating = False
Set OutApp = CreateObject("Outlook.Application")
OutApp.Session.Logon
On Error GoTo cleanup
Set OutMail = OutApp.CreateItem(0)
On Error Resume Next

With OutMail
.To = sTo
.Subject = sSabj
.Display
End With

On Error GoTo 0
Set OutMail = Nothing

cleanup:
Set OutApp = Nothing
Application.ScreenUpdating = True
End Function

Sub Письмо2()
Dim a
For i = 2 To [b1].End(xlDown).Row
a = Письмо(Cells(i, 9).Value, Cells(i, 15).Value)
Next
End Sub


Идея была такая, напротив каждой строки есть кнопка "отправить", при нажатии программа Outlook создает новое письмо, с определенным адресом и темой, взятой из определенной ячейки. К сожалению, данный макрос, создает столько писем, сколько заполнено строк.
Подскажите как необходимо модернизировать макрос, что бы он срабатывал только на последнюю заполненную ячейку с темой
Пример во вложении. Заранее спасибо smile

Автор - Гость
Дата добавления - 24.08.2011 в 12:25
ini Дата: Среда, 24.08.2011, 12:30 | Сообщение № 2
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Пример во вложении.
К сообщению приложен файл: _ini.xlsx (15.4 Kb)
 
Ответить
СообщениеПример во вложении.

Автор - ini
Дата добавления - 24.08.2011 в 12:30
Саня Дата: Среда, 24.08.2011, 13:38 | Сообщение № 3
Группа: Друзья
Ранг: Ветеран
Сообщений: 1068
Репутация: 560 ±
Замечаний: 0% ±

XL 2016
Code
Sub Письмо2()
     i = [o1].End(xlDown).Row
     a = Письмо(Cells(i, 9).Value, Cells(i, 15).Value)
End Sub


у тебя там формула какая-то, и как я написал, будет обработана строка с последней формулой в столбце "O"
 
Ответить
Сообщение
Code
Sub Письмо2()
     i = [o1].End(xlDown).Row
     a = Письмо(Cells(i, 9).Value, Cells(i, 15).Value)
End Sub


у тебя там формула какая-то, и как я написал, будет обработана строка с последней формулой в столбце "O"

Автор - Саня
Дата добавления - 24.08.2011 в 13:38
ini Дата: Среда, 24.08.2011, 13:51 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Формула будет растягиваться так же для каждой ячейки примерно в 1000 строк, а как можно добавить условие, если например в столбце B данные не заполнены то он игнорирует ячейку с формулой из столбца О?
 
Ответить
СообщениеФормула будет растягиваться так же для каждой ячейки примерно в 1000 строк, а как можно добавить условие, если например в столбце B данные не заполнены то он игнорирует ячейку с формулой из столбца О?

Автор - ini
Дата добавления - 24.08.2011 в 13:51
Саня Дата: Среда, 24.08.2011, 14:19 | Сообщение № 5
Группа: Друзья
Ранг: Ветеран
Сообщений: 1068
Репутация: 560 ±
Замечаний: 0% ±

XL 2016
Code
Sub Письмо2()
      i = [b1].End(xlDown).Row
      a = Письмо(Cells(i, 9).Value, Cells(i, 15).Value)
End Sub
 
Ответить
Сообщение
Code
Sub Письмо2()
      i = [b1].End(xlDown).Row
      a = Письмо(Cells(i, 9).Value, Cells(i, 15).Value)
End Sub

Автор - Саня
Дата добавления - 24.08.2011 в 14:19
ini Дата: Среда, 24.08.2011, 14:30 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Приогромнейшее спасибо smile
 
Ответить
СообщениеПриогромнейшее спасибо smile

Автор - ini
Дата добавления - 24.08.2011 в 14:30
Grealaype Дата: Четверг, 22.12.2011, 03:10 | Сообщение № 7
Группа: Гости
Which team do you prefer, Manchester United or Manchester City?
 
Ответить
СообщениеWhich team do you prefer, Manchester United or Manchester City?

Автор - Grealaype
Дата добавления - 22.12.2011 в 03:10
  • Страница 1 из 1
  • 1
Поиск:

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