Доброго времени суток! Нужно сделать рассылку чтобы после заполнения таблицы можно было нажать одну кнопку и каждый получатель получил то, что на него было записано. Вариант со слиянием из Word не подходит. свой код позаимствовал отсюда но отправляет только первый лист(( Помогите исправить код. Заранее благодарен!
Я и пытаюсь своими силами. Если смотрели мой код, то там есть перебор только не выделенных листов, а тех, которые не начинаются на "!" и в которых ячейка В1 не равна нулю. Данные с первого листа отправляются так как нужно и скопированный лист удаляется без сохранения, но когда цикл идет на вторую итерацию все тормозится на строке
Код
.To = Range("A1").Value
Второй лист так же копируется но уже не закрывается, при наведении мышкой код где должен быть отправитель, тело сообщения, там высвечиваются данные со второго листа, то биш те что и нужно.
Так как не силен в VBA прошу помощи разобраться. Скажите, в чем я здесь не прав?
Sub BonusSand_test()
Dim OutApp As Object
Dim OutMail As Object
Dim cell As Range
Dim s As Worksheet
Dim wb As Workbook
Set wb = ActiveWorkbook
Application.ScreenUpdating = False
Set OutApp = CreateObject("Outlook.Application")
OutApp.Session.Logon
On Error GoTo cleanup
Set OutMail = OutApp.CreateItem(0)
On Error Resume Next
For Each s In wb.Worksheets
If Left(s.Name, 1) <> "!" Then
If s.Range("B1").Cells <> 0 Then
With OutMail
.To = s.Range("A1").Value
.Subject = "Áîíóñ " & s.Name
.Body = s.Range("A3").Value
.Send
End With
On Error GoTo 0
Set OutMail = Nothing
cleanup:
Set OutApp = Nothing
Application.ScreenUpdating = True
End If
End If
Next
End Sub
У себя проверить не могу - не использую аутлук. Дэбаг ошибок не нашёл.
Формула массива (ФМ) вводится Ctrl+Shift+Enter Memento mori
Переписал код по Вашему с перебором выделенных листов, результат тот же - первый лист отправляется как нужно, на втором выдает ошибку, Debug отправляет на ту же строчку
Код
.To = Range("A1").Value
Значит не в переборе дело.
Т.к. в VBA не силен да и не нашел я по инету нормального описания к каждому отдельному оператору прошу знатоков помочь разобраться где что я неправильно понял.