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

Вход

Регистрация

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

 

= Мир MS Excel/Автоматизация отправки данных Excel + Outlook - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, китин  
Автоматизация отправки данных Excel + Outlook
makao Дата: Пятница, 09.01.2015, 17:45 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 42
Репутация: 0 ±
Замечаний: 20% ±

Excel 2013
Всем привет.

Есть макрос, который сортирует диапазон (код написан Roman Rioran Voronov и изменен под мои нужды), по вырбранному значению столбца, а дальше кнопкой отправляет на мейл. Никак не могу сделать, чтобы макрос отправлял данные автоматически (с каждого листа, а их 100+ шт на свой мейл). Есть вариант, сделать названия листов "Sheet1, Sheet2" и.т.д. но нет вариантов как это реализовать.

Марос внизу отправляет текучий лист (нужно заходить на каждый лист и кликать отправить).

[vba]
Код
Sub Sent_this_Sheet()
Dim cell As Range

ActiveSheet.Copy
With ActiveWorkbook
.SendMail Recipients:=Range("C4"), Subject:="Do not reply"
.Close SaveChanges:=False
End With

End Sub
[/vba]

Можно отправиль выбранны лист таким способом

[vba]
Код
Sub final_test()

Dim cell As Range

ThisWorkbook.Sheets("Sheet2").Copy
With ActiveWorkbook
.SendMail Recipients:=Range("C4"), Subject:="RO Macros test - DO NOT REPLY"
.Close SaveChanges:=False
End With

End Sub
[/vba]

Тут C4 - ссылка на колонку с мейлом.
К сообщению приложен файл: Magic_List1.xlsm (36.7 Kb)
 
Ответить
СообщениеВсем привет.

Есть макрос, который сортирует диапазон (код написан Roman Rioran Voronov и изменен под мои нужды), по вырбранному значению столбца, а дальше кнопкой отправляет на мейл. Никак не могу сделать, чтобы макрос отправлял данные автоматически (с каждого листа, а их 100+ шт на свой мейл). Есть вариант, сделать названия листов "Sheet1, Sheet2" и.т.д. но нет вариантов как это реализовать.

Марос внизу отправляет текучий лист (нужно заходить на каждый лист и кликать отправить).

[vba]
Код
Sub Sent_this_Sheet()
Dim cell As Range

ActiveSheet.Copy
With ActiveWorkbook
.SendMail Recipients:=Range("C4"), Subject:="Do not reply"
.Close SaveChanges:=False
End With

End Sub
[/vba]

Можно отправиль выбранны лист таким способом

[vba]
Код
Sub final_test()

Dim cell As Range

ThisWorkbook.Sheets("Sheet2").Copy
With ActiveWorkbook
.SendMail Recipients:=Range("C4"), Subject:="RO Macros test - DO NOT REPLY"
.Close SaveChanges:=False
End With

End Sub
[/vba]

Тут C4 - ссылка на колонку с мейлом.

Автор - makao
Дата добавления - 09.01.2015 в 17:45
Pelena Дата: Пятница, 09.01.2015, 17:48 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 19407
Репутация: 4556 ±
Замечаний: ±

Excel 365 & Mac Excel
makao, это продолжение Ваших двух начатых тем? Или как?
Вы там хотя бы отпишитесь, что пошли другим путём и дайте ссылку на эту тему

И оформляйте коды тегами (кнопка #)


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
Сообщениеmakao, это продолжение Ваших двух начатых тем? Или как?
Вы там хотя бы отпишитесь, что пошли другим путём и дайте ссылку на эту тему

И оформляйте коды тегами (кнопка #)

Автор - Pelena
Дата добавления - 09.01.2015 в 17:48
makao Дата: Пятница, 09.01.2015, 18:27 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 42
Репутация: 0 ±
Замечаний: 20% ±

Excel 2013
Pelena,

Я написал в предедущей теме, что она закрыта. И да, это продолжение.
 
Ответить
СообщениеPelena,

Я написал в предедущей теме, что она закрыта. И да, это продолжение.

Автор - makao
Дата добавления - 09.01.2015 в 18:27
Rioran Дата: Пятница, 09.01.2015, 20:42 | Сообщение № 4
Группа: Авторы
Ранг: Ветеран
Сообщений: 903
Репутация: 290 ±
Замечаний: 0% ±

Excel 2013
makao, здравствуйте.

Если Ваш первый код работает корректно - то слегка его модифицировав можно встроить его в действующий макрос.

В основной макрос добавляем обращение к Вашему коду:

[vba]
Код
Call Send_This_Shit(ShtZ)
[/vba]
Сам Ваш код примет следующий вид:

[vba]
Код
Private Sub Send_This_Shit(ShtQ As Worksheet)

ShtQ.Copy

With ActiveWorkbook
     .SendMail Recipients:=ShtQ.Range("C4"), Subject:="Do not reply"
     .Close SaveChanges:=False
End With

End Sub
[/vba]
Проверьте, файл во вложении.
К сообщению приложен файл: Magic_List2.xlsm (33.7 Kb)


Роман, Москва, voronov_rv@mail.ru
Яндекс-Деньги: 41001312674279
 
Ответить
Сообщениеmakao, здравствуйте.

Если Ваш первый код работает корректно - то слегка его модифицировав можно встроить его в действующий макрос.

В основной макрос добавляем обращение к Вашему коду:

[vba]
Код
Call Send_This_Shit(ShtZ)
[/vba]
Сам Ваш код примет следующий вид:

[vba]
Код
Private Sub Send_This_Shit(ShtQ As Worksheet)

ShtQ.Copy

With ActiveWorkbook
     .SendMail Recipients:=ShtQ.Range("C4"), Subject:="Do not reply"
     .Close SaveChanges:=False
End With

End Sub
[/vba]
Проверьте, файл во вложении.

Автор - Rioran
Дата добавления - 09.01.2015 в 20:42
Gustav Дата: Пятница, 09.01.2015, 20:44 | Сообщение № 5
Группа: Админы
Ранг: Участник клуба
Сообщений: 2797
Репутация: 1161 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
Если я правильно понял, нужен цикл по всем листам книги, исключая некоторые из них:
[vba]
Код
Sub final_test_2()
     Dim wks As Worksheet
     For Each wks In ThisWorkbook.Worksheets 'цикл по всем листам книги
         Select Case wks.Name
             Case "Menu", "Data" 'имена листов, которые надо исключить из отправки
             Case Else
                 'для всех остальных - отправка
                 wks.Copy 'очередной лист копируется в новую книгу
                 With ActiveWorkbook 'новая книга мылится и закрывается
                     .SendMail Recipients:=Range("C4"), Subject:="RO Macros test - DO NOT REPLY"
                     .Close SaveChanges:=False
                 End With
         End Select
     Next wks
End Sub
[/vba]


МОИ: Ник, Tip box: 41001663842605
 
Ответить
СообщениеЕсли я правильно понял, нужен цикл по всем листам книги, исключая некоторые из них:
[vba]
Код
Sub final_test_2()
     Dim wks As Worksheet
     For Each wks In ThisWorkbook.Worksheets 'цикл по всем листам книги
         Select Case wks.Name
             Case "Menu", "Data" 'имена листов, которые надо исключить из отправки
             Case Else
                 'для всех остальных - отправка
                 wks.Copy 'очередной лист копируется в новую книгу
                 With ActiveWorkbook 'новая книга мылится и закрывается
                     .SendMail Recipients:=Range("C4"), Subject:="RO Macros test - DO NOT REPLY"
                     .Close SaveChanges:=False
                 End With
         End Select
     Next wks
End Sub
[/vba]

Автор - Gustav
Дата добавления - 09.01.2015 в 20:44
makao Дата: Четверг, 15.01.2015, 11:13 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 42
Репутация: 0 ±
Замечаний: 20% ±

Excel 2013
Gustav, Rioran,

Спасибо большое за помощь!!!
 
Ответить
СообщениеGustav, Rioran,

Спасибо большое за помощь!!!

Автор - makao
Дата добавления - 15.01.2015 в 11:13
  • Страница 1 из 1
  • 1
Поиск:

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