KutoolsforOffice — Одно решение — пять мощных инструментов.Меньше усилий — больше результата.

Как отправить диапазон ячеек по электронной почте через Outlook из Excel?

АвторСяоянДата изменения

В повседневной работе с Excel часто возникает ситуация, когда отчёт уже готов, но отправить нужно лишь часть данных конкретному получателю. Например, вы можете захотеть передать важную информацию из выбранного диапазона ячеек, а не весь файл книги, обеспечивая тем самым конфиденциальность и релевантность. Естественно, большинство пользователей предпочитают решения, не требующие ручного переключения в Outlook или копирования и вставки содержимого. Существуют ли практичные и эффективные способы отправки заданного диапазона ячеек непосредственно из Excel?

В этом руководстве представлены различные способы отправки выделенных ячеек через Outlook — от встроенных функций Excel до решений на основе VBA — чтобы оптимизировать ваш рабочий процесс и минимизировать ручные операции. Вы узнаете, как отправлять диапазон как вложение, встраивать ячейки прямо в тело письма, сохранять диапазоны в виде изображений или PDF перед отправкой, а также использовать устаревшие почтовые функции Excel. Кроме того, руководство охватывает ключевые этапы настройки, анализ типичных сценариев, советы по устранению неполадок и практические рекомендации для достижения наилучших результатов.

Отправка диапазона ячеек в виде вложения из Excel с помощью кода VBA

Отправка диапазона ячеек в теле письма из Excel с помощью кода VBA

Другие встроенные методы Excel — используйте встроенную функцию «Отправить получателю электронной почты» для отправки выделенных ячеек в теле письма


Отправка диапазона ячеек в виде вложения из Excel с помощью кода VBA

Если вам нужно передать только определённый набор данных, не предоставляя доступ ко всей книге, просто выделите нужный диапазон ячеек и отправьте его в виде файла — например, в формате .xlsx или .xls — через Outlook. Это решение идеально подходит, когда получателю требуется ознакомиться лишь с частью отчёта или когда важна конфиденциальность информации. Ниже приведены шаги по настройке и использованию кода VBA для автоматизации этого процесса:

1. Откройте нужную вам рабочую книгу Excel. Нажмите ALT + F11, чтобы открыть окно Microsoft Visual Basic для приложений, где можно вставлять и редактировать код VBA.

2. Нажмите Вставка > Модуль, чтобы создать новый модуль для вашего кода. Вставьте приведённый ниже сценарий в окно модуля.

Код VBA: отправка диапазона ячеек в виде вложения из Excel

Sub SendRange()
'Update 20131209
Dim xFile As String
Dim xFormat As Long
Dim Wb As Workbook
Dim Wb2 As Workbook
Dim Ws As Worksheet
Dim FilePath As String
Dim FileName As String
Dim OutlookApp As Object
Dim OutlookMail As Object
Dim WorkRng As Range
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set Wb = Application.ActiveWorkbook
Wb.Worksheets.Add
Set Ws = Application.ActiveSheet
WorkRng.Copy Ws.Cells(1, 1)
Ws.Copy
Set Wb2 = Application.ActiveWorkbook
Select Case Wb.FileFormat
Case xlOpenXMLWorkbook:
    xFile = ".xlsx"
    xFormat = xlOpenXMLWorkbook
Case xlOpenXMLWorkbookMacroEnabled:
    If Wb2.HasVBProject Then
        xFile = ".xlsm"
        xFormat = xlOpenXMLWorkbookMacroEnabled
    Else
        xFile = ".xlsx"
        xFormat = xlOpenXMLWorkbook
    End If
Case Excel8:
    xFile = ".xls"
    xFormat = Excel8
Case xlExcel12:
    xFile = ".xlsb"
    xFormat = xlExcel12
End Select
FilePath = Environ$("temp") & "\"
FileName = Wb.Name & Format(Now, "dd-mmm-yy h-mm-ss")
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
Wb2.SaveAs FilePath & FileName & xFile, FileFormat:=xFormat
With OutlookMail
    .To = "skyyang@extendoffice.com"
    .CC = ""
    .BCC = ""
    .Subject = "information of kte"
    .Body = "hello, please check and read this document. "
    .Attachments.Add Wb2.FullName
    .Send
End With
Wb2.Close
Kill FilePath & FileName & xFile
Set OutlookMail = Nothing
Set OutlookApp = Nothing
Ws.Delete
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub

Советы и настройки:

  • .ToTo
  • .CCи .BCCможно настроить для копии или скрытой копии по мере необходимости.
  • .Subjectи .Bodyпозволяют персонализировать текст письма.

3. Запустите код, нажав F5. Появится запрос на выбор диапазона. Укажите диапазон, который хотите отправить по электронной почте (рекомендуется подтвердить данные перед отправкой). См. пример на скриншоте:

код VBA для выбора диапазона данных

4. После нажатия ОК может появиться индикатор выполнения или уведомление о разрешении. По завершении нажмите Разрешить. Выбранный диапазон ячеек будет отправлен указанному получателю как вложение в виде файла Excel.

нажмите «Разрешить», чтобы отправить выбранный диапазон как вложение

Меры предосторожности и устранение неполадок:

  • Если Outlook не задан программой электронной почты по умолчанию или не запущен, код может работать некорректно.
  • Убедитесь, что параметры безопасности макросов разрешают выполнение сценариев VBA. Возможно, вам потребуется включить макросы или скорректировать настройки Центра управления безопасностью.
  • Тип вложения зависит от исходного типа файла и указанной строки в коде VBA.
  • После отправки проверьте папку «Отправленные» в Outlook, чтобы убедиться, что письмо успешно доставлено.

Этот подход идеально подходит для безопасного обмена данными, архивирования записей и ситуаций, когда необходимо сохранить исходное форматирование Excel. Однако для открытия вложения получателям потребуется соответствующее программное обеспечение.


Отправка диапазона ячеек в теле письма из Excel с помощью кода VBA

В ситуациях, когда вы хотите, чтобы получатели сразу увидели информацию без загрузки вложений — например, при регулярной отправке сводок отчётов или обновлений хода работ — вы можете встроить выбранный диапазон ячеек непосредственно в тело письма. Это не только повышает доступность, но и делает информацию проще для чтения и быстрее для обработки получателями.

1. Перейдите на лист с вашими данными и нажмите ALT + F11, чтобы открыть окно Microsoft Visual Basic для приложений.

2. Нажмите Вставка > Модуль, чтобы открыть окно модуля, затем вставьте следующий код:

Код VBA: отправка диапазона ячеек в теле письма из Excel

Sub EmailRange()
'Update by Extendoffice
Dim WorkRng As Range
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Application.ScreenUpdating = False
WorkRng.Select
ActiveWorkbook.EnvelopeVisible = True
With ActiveSheet.MailEnvelope
    .Introduction = "Please read this email."
    .Item.To = "skyyang@extendoffice.com"
    .Item.Subject = "information of kte"
    .Item.Send
End With
Application.ScreenUpdating = True
End Sub

Примечания по параметрам и практические корректировки:

  • .Introductionпозволяет добавить сообщение перед самим диапазоном.
  • .Item.Toследует обновить, указав желаемый Адрес электронной почты.
  • .Item.Subjectможно изменить в соответствии с темой вашего отчёта или письма.

3. Запустите макрос с помощью F5. Когда появится запрос, выберите нужный диапазон ячеек для отправки.

код VBA для выбора диапазона данных

4. Подтвердите свой выбор и нажмите ОК. Следите за возможными уведомлениями безопасности. После обработки нажмите Разрешить, чтобы авторизовать макрос. Выбранный диапазон появится непосредственно в теле письма Outlook в виде таблицы.

нажмите «Разрешить», чтобы отправить выбранный диапазон в теле письма

Важные напоминания:

  • Для использования этого решения Outlook должен быть установлен и настроен в качестве программы электронной почты по умолчанию.
  • Включите макросы в Excel, чтобы код VBA выполнялся корректно. Если возникнут ошибки, проверьте настройки макросов в Центре управления безопасностью.
  • Форматирование сохраняется — однако сложные форматы ячеек могут отображаться в письме иначе, чем в Excel.
  • Проверьте папку «Исходящие» или «Отправленные» в Outlook, чтобы убедиться, что письмо успешно отправлено.

Этот подход идеально подходит для обновления статуса команды, оперативного обмена данными или распространения ключевых показателей среди коллег и клиентов, для которых важна мгновенная читаемость.


Другие встроенные методы Excel — используйте встроенную функцию «Отправить получателю электронной почты» для отправки выделенных ячеек в теле письма

В некоторых старых версиях Excel (до Office 365) имелась встроенная кнопка «Отправить получателю электронной почты», позволяющая мгновенно отправлять выделенные ячейки прямо в теле письма — без применения VBA. Хотя в современных версиях Excel эта функция по умолчанию скрыта, её по-прежнему можно активировать через настройку панели быстрого доступа. Такое решение идеально подходит пользователям устаревших версий Excel или тем, кто предпочитает обходиться без макросов.

Как включить и использовать:

  • Щёлкните правой кнопкой мыши по панели быстрого доступа (над вашей лентой) и выберите Настроить панель быстрого доступа.
  • В списке команд измените значение «Выбрать команды из:» на Все команды.
  • Прокрутите список вниз и добавьте Отправить получателю электронной почты на панель быстрого доступа.
  • После настройки выделите ячейки, которые хотите отправить, и нажмите значок Отправить получателю электронной почты — Excel автоматически создаст встроенное окно электронной почты с выделенным фрагментом в теле сообщения. Осталось только добавить адреса получателей, указать тему и отправить письмо напрямую!

Важные примечания:

  • Для использования этого метода Outlook должен быть настроен как клиент электронной почты по умолчанию.
  • Работа со встроенным окном электронной почты может отличаться от привычного составления писем в Outlook — обязательно проверьте форматирование.
  • Эта функция может быть недоступна или отключена в некоторых версиях Excel (особенно в новых сборках Office 365). В таких случаях рекомендуем воспользоваться решениями на основе VBA или экспорта в PDF и изображения.

Преимущества и недостатки:

  • Очень быстро и просто — в поддерживаемых версиях не требуется писать код или выполнять сложную настройку.
  • Недоступна ни в одной из версий; пользователям новых версий Excel могут понадобиться альтернативные методы.

Связанные статьи:

Как отправить только один лист из Excel через Outlook?

Как отправить текущую книгу через Outlook из Excel?


Лучшие инструменты повышения продуктивности в Office

🤖KUTOOLS AI Помощник: Преобразуйте Анализ данных с помощью:Интеллектуального выполнения   |  Генерации кода|  Создания пользовательские формулы  |  Анализа данных и построения диаграмм|  Вызова Расширенные функции
Популярные функции:Поиск, выделение или Отметить дубликаты   |  Удалить пустые строки   |  Объединить столбцы или ячеек без потери данных   |  Округление без использования формул
Супер ПОИСК:VLookup по нескольким критериям  |  VLookup по нескольким значениям  |   VLookup по нескольким листам   |   Распознавание нечетких соответствий
Расширенный раскрывающийся список:Быстрое создание выпадающего списка   |  Зависимый выпадающий список   |  Выпадающий список с множественным выбором
Управление столбцами:Добавление заданного количества столбцов|Перемещение столбцов|Переключение видимости скрытых столбцов|Сравнение диапазонов и столбцов
Избранные функции:Сетка фокусировки   |  Просмотр дизайна   |Улучшенная строка формулы   | Управление рабочими книгами и листами   |  Библиотека ресурсов(автотекст)|  Выбор даты   |  Объединить листы  |  Шифрование/Расшифровать ячейки   | Отправка писем по списку   |  Супер фильтр   |   Специальный фильтр(Фильтр ячеек с жирным шрифтом/курсив/зачёркивание…) …
Лучшие наборы инструментов 15:12 Текстовыеинструменты(Добавить текст,Удалить определенные символы, …)|   50+Типыдиаграмм(Диаграмма Ганта, …)|   40+ Практические формулы(Рассчитать возраст на основе даты рождения, …)|   19 Инструментывставки(Вставить QR-код,Вставка изображения по пути, …)|   12 Инструментыпреобразования(Преобразовать в слова,Конвертация валют, …)|   7 Объединить и разделитьИнструменты(Расширенное объединение строк,Разделить ячейки, …)|… и многое другое
Используйте Kutools на предпочитаемом языке — поддержка английского, испанского, немецкого, французского, китайского и ещё 40+ языков!

Раскройте весь потенциал Excel с помощью Kutools для Excel и ощутите эффективность как никогда раньше.Kutools для Excel предлагает более 300 расширенных функций для повышения продуктивности и Экономия времени.Нажмите здесь, чтобы получить нужную Вам функцию…


Office Tab добавляет в Office вкладки и значительно упрощает Вашу работу

  • Включите редактирование и чтение во вкладках в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Открывайте и создавайте несколько документов во вкладках одного окна — вместо того чтобы использовать отдельные окна.
  • Повышает вашу продуктивность на 50 % и экономит сотни кликов мышью каждый день!

Все надстройки Kutools — один установщик

Kutools for Office — набор надстроек для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro, идеально подходящий командам, работающим с разными приложениями Office.

ExcelWordOutlookTabsPowerPoint
  • Единый комплект— надстройки для Excel, Word, Outlook и PowerPoint + Office Tab Pro
  • Один установщик, одна лицензия— настройка занимает считанные минуты (готово для MSI)
  • Лучше работать вместе— оптимизированная продуктивность во всех приложениях Office
  • 30-дневная полнофункциональная пробная версия— без регистрации и кредитной карты
  • Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек