Страницы: 1
RSS
Рассылка разным адресатам типового сообщения, подправить код
 
Доброго времени суток! Нужно сделать рассылку чтобы после заполнения таблицы можно было нажать одну кнопку и каждый получатель получил то, что на него было записано.
Вариант со слиянием из Word не подходит. свой код позаимствовал отсюда
но отправляет только первый лист(( Помогите исправить код.
Заранее благодарен!
Изменено: Zeppelin - 14.05.2014 21:44:53
 
Помогите, пожалуйста)
 
А в чём сложность самостоятельно попробовать доработать макрос? Добавьте перебор, например, выделенных листов:
Скрытый текст
а внутрь перебора используемый Вами макрос. (в ВБА не спец., но мне совестно не прикладывая усилий просить у других помощи)

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
Я и пытаюсь своими силами. Если смотрели мой код, то там есть перебор только не выделенных листов, а тех, которые не начинаются на "!" и в которых ячейка В1 не равна нулю.
Данные с первого листа отправляются так как нужно и скопированный лист удаляется без сохранения, но когда цикл идет на вторую итерацию все тормозится на строке

Код
.To = Range("A1").Value 
Второй лист так же копируется но уже не закрывается, при наведении мышкой код где должен быть отправитель, тело сообщения, там высвечиваются данные со второго листа, то биш те что и нужно.

Так как не силен в VBA прошу помощи разобраться. Скажите, в чем я здесь не прав?
 
Первое, зачем делать копию листа, если в тело письма вставляете параметры из перебираемых листов, а к письму новую книгу не прикрепляете?

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
Попробуйте так.
Скрытый текст
У себя проверить не могу - не использую аутлук. Дэбаг ошибок не нашёл.

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
Переписал код по Вашему с перебором выделенных листов, результат тот же - первый лист отправляется как нужно, на втором выдает ошибку, Debug отправляет на ту же строчку

Код
.To = Range("A1").Value
 
Значит не в переборе дело.

Т.к. в VBA не силен да и не нашел я по инету нормального описания к каждому отдельному оператору прошу знатоков помочь разобраться где что я неправильно понял.
 
Цитата
JayBhagavan пишет: Скрытый текст
Попробовал - один и тот же результат =((
Изменено: Zeppelin - 15.05.2014 21:09:04
 
Текст ошибки:
Run time error '91':
Object variable or With block variable not set
 
Эврика! Заработало! Еще раз перечитал описание кода от Николая и я понял в чем была загвоздка:
Код
Set OutMail = OutApp.CreateItem(0)   'создаем новое сообщение     
On Error Resume Next 
Эти строки отвечающие за создание нового сообщения должны быть внутри цыкла, а не за его пределами))

Все работает как нужно - заполненные ячейки отправляются кому нужно, пустые остаются нетронутыми.
Если есть более изящное решение предложите.
Изменено: Zeppelin - 15.05.2014 00:01:27
Страницы: 1
Наверх