Note: The other languages of the website are Google-translated. Back to English
Войти  \/ 
x
or
x
Регистрация  \/ 
x

or

Как отправить электронное письмо с копированием и вставкой указанного диапазона в тело письма в Excel?

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

Отправить электронное письмо с указанным диапазоном, вставленным в тело письма в Excel
Отправляйте электронное письмо с указанным диапазоном, вставленным в тело письма, с помощью замечательного инструмента

Дополнительные руководства по рассылке писем в Excel ...


Отправить электронное письмо с указанным диапазоном, вставленным в тело письма в Excel

Следующий код VBA может помочь вам скопировать диапазон и вставить его в тело электронной почты Outlook прямо в Excel. Пожалуйста, сделайте следующее.

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

2. В дебюте Microsoft Visual Basic для приложений окно, пожалуйста, нажмите Инструменты > дело как показано ниже.

3. в Ссылки - VBAProject диалоговом окне найдите и проверьте Библиотека объектов Microsoft Outlook вариант, а затем щелкните OK кнопку.

4. Нажмите Вставить > модуль, затем скопируйте и вставьте приведенный ниже код VBA в окно модуля.

Код VBA: отправить электронное письмо с указанным диапазоном, вставленным в тело письма в Excel

Sub Send_Email()
'Updated by Extendoffice 20200119
    Dim xRg As Range
    Dim I, J As Long
    Dim xAddress As String
    Dim xEmailBody As String
    Dim xMailOut As Outlook.MailItem
    Dim xOutApp As Outlook.Application    
    On Error Resume Next
    xAddress = ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Please select range you need to paste into email body", "KuTools For Excel", xAddress, , , , , 8)
If xRg Is Nothing Then Exit Sub
Application.ScreenUpdating = False
    Set xOutApp = CreateObject("Outlook.Application")
    Set xMailOut = xOutApp.CreateItem(olMailItem)
    For I = 1 To xRg.Rows.Count
        For J = 1 To xRg.Columns.Count
            xEmailBody = xEmailBody & "  " & xRg.Cells(I, J).value
        Next
        xEmailBody = xEmailBody & vbNewLine
    Next
    xEmailBody = "Hi" & vbLf & vbLf & " body of message you want to add" & vbLf & vbLf & xEmailBody & vbNewLine
    With xMailOut
        .Subject = "Test"
        .To = "happy.xuebi@163.com"
        .Body = xEmailBody
        .Display
        '.Send
    End With
    Set xMailOut = Nothing
    Set xOutApp = Nothing
    Application.ScreenUpdating = True
End Sub

Заметки:

  • 1). Пожалуйста, измените текст электронного письма в строке xEmailBody = "Привет" & vbLf & vbLf & "тело сообщения, которое вы хотите добавить" & vbLf & vbLf & xEmailBody & vbNewLine как вам нужно.
  • 2). Укажите получателя электронной почты и тему (.To = happy.xuebi@163.com и .Subject = "test") строк в коде.

5. нажмите F5 ключ для запуска кода. В всплывающем Kutools for Excel В диалоговом окне выберите диапазон, который необходимо вставить в текст сообщения электронной почты, а затем щелкните значок OK кнопка. Смотрите скриншот:

6. Теперь создается электронное письмо с указанным получателем, темой, телом и выбранным диапазоном Excel. Щелкните значок Отправить кнопку, чтобы отправить это письмо. См. Показанный снимок экрана.

Внимание: Код VBA работает только при использовании Outlook в качестве почтовой программы.


Отправляйте электронное письмо с указанным диапазоном, вставленным в тело письма, с помощью замечательного инструмента

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

Перед применением Kutools for Excel, Пожалуйста, сначала скачайте и установите.

1. Во-первых, вам необходимо подготовить список рассылки с необходимыми полями.

  • Советы: Список рассылки должен содержать не менее 2 строк, и первая строка должна быть заголовками (Предположим, вы хотите отправлять электронные письма на два адреса электронной почты в Excel, введите эти два адреса электронной почты с заголовком «Электронная почта», как показано на скриншоте ниже. ).
  • Кроме того, вы можете легко создать список рассылки с Создать список рассылки функцию.

2. Выберите диапазон, в который вы будете добавлять данные в тело письма, и нажмите Ctrl + C ключи для его копирования.

3. Выберите весь список рассылки (включая заголовки), нажмите Kutools Plus > Отправить письма. Смотрите скриншот:

4. Затем Отправить письма появится диалоговое окно.

  • 4.1) Элементы выбранного списка рассылки заполняются в соответствующих полях (вы можете добавить дополнительные поля в список рассылки по своему усмотрению);
  • 4.2) Щелкните поле тела сообщения электронной почты, нажмите кнопку Ctrl + V клавиши, чтобы вставить в него данные выбранного диапазона. После этого добавьте другой контент по мере необходимости;
  • 4.3 Снимите флажок Отправлять электронные письма через Outlook коробка;
  • 2.4) Нажмите Настройки исходящего сервера кнопка. Смотрите скриншот:

5. Затем Настройки сервера исходящей почты (SMTP) - Новая схема появится диалоговое окно. Пожалуйста, заполните адрес электронной почты с настройками его сервера, укажите папку для сохранения всех отправленных писем после проверки Сохранять отправленные письма в поле, а затем щелкните OK чтобы сохранить настройки.

6. Когда он вернется в Отправить письма диалогового окна, нажмите Отправить кнопку, чтобы отправить электронное письмо.

С этого момента вы можете напрямую отправлять электронные письма с помощью этой функции в Excel.

  Если вы хотите получить бесплатную (30-дневную) пробную версию этой утилиты, пожалуйста, нажмите, чтобы загрузить это, а затем перейдите к применению операции в соответствии с указанными выше шагами.


Статьи по теме:

Отправлять электронную почту на адреса электронной почты, указанные в ячейках Excel
Предположим, у вас есть список адресов электронной почты, и вы хотите массово отправлять сообщения электронной почты на эти адреса прямо в Excel. Как этого добиться? В этой статье будут показаны способы отправки электронной почты на несколько адресов электронной почты, указанных в ячейках Excel.

Вставить подпись Outlook при отправке электронной почты в Excel
Предположим, вы хотите отправить электронное письмо прямо в Excel, как вы можете добавить подпись Outlook по умолчанию в электронную почту? В этой статье представлены два метода, которые помогут вам добавить подпись Outlook при отправке электронной почты в Excel.

Отправить электронное письмо с несколькими вложениями в Excel
В этой статье рассказывается об отправке электронного письма через Outlook с несколькими вложениями, прикрепленными в Excel.

Отправить электронное письмо, если срок оплаты в Excel соблюден
Например, если срок оплаты в столбце C меньше или равен 7 дням (текущая дата - 2017/9/13), то отправьте электронное напоминание указанному получателю в столбце A с указанным содержанием в столбце B. Как сделать Добейся этого? В этой статье будет предоставлен метод VBA для более подробного решения этой проблемы.

Автоматически отправлять электронную почту на основе значения ячейки в Excel
Предположим, вы хотите отправить электронное письмо через Outlook определенному получателю на основе указанного значения ячейки в Excel. Например, если значение ячейки D7 на листе больше 200, электронное письмо создается автоматически. В этой статье представлен метод VBA, позволяющий быстро решить эту проблему.

Дополнительные руководства по рассылке писем в Excel ...


Лучшие инструменты для работы в офисе

Kutools for Excel решает большинство ваших проблем и увеличивает вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма ...
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон...
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы... Предотвращение дублирования ячеек; Сравнить диапазоны...
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор ...
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое ...
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии...
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом ...
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF...
  • Более 300 мощных функций. Поддерживает Office / Excel 2007-2019 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
вкладка kte 201905

Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
офисный дно
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Yogesh Girase · 8 months ago
    hello,

    can you help me on below

    I have create excel sheet & updated 10 supplier mail detail
    I have send mail through excel to all 10 supplier with individual sheet attachment with individual mail.

    I want to paste excel data in outlook body instead of attachment in mail

    can any one help me

  • To post as a guest, your comment is unpublished.
    Arul · 1 years ago
    Hi,
    Instead of selecting the range, I want to select multiple pivots in the excel.
    can you please help me.
  • To post as a guest, your comment is unpublished.
    Raman · 1 years ago
    Hi,
    Instead of selecting the range manually, I want to select the range automatically.
    • To post as a guest, your comment is unpublished.
      crystal · 1 years ago
      Hi Raman,
      In the below code, please replace the range "A1:C5" in line Set xRg = Range("A1:C5") with your own range.

      Sub Send_Email()
      Dim xRg As Range
      Dim I, J As Long
      Dim xAddress As String
      Dim xEmailBody As String
      Dim xMailOut As Outlook.MailItem
      Dim xOutApp As Outlook.Application
      On Error Resume Next
      xAddress = ActiveWindow.RangeSelection.Address
      Set xRg = Range("A1:C5")
      If xRg Is Nothing Then Exit Sub
      Application.ScreenUpdating = False
      Set xOutApp = CreateObject("Outlook.Application")
      Set xMailOut = xOutApp.CreateItem(olMailItem)
      For I = 1 To xRg.Rows.Count
      For J = 1 To xRg.Columns.Count
      xEmailBody = xEmailBody & " " & xRg.Cells(I, J).Value
      Next
      xEmailBody = xEmailBody & vbNewLine
      Next
      xEmailBody = "Hi" & vbLf & vbLf & " body of message you want to add" & vbLf & vbLf & xEmailBody & vbNewLine
      With xMailOut
      .Subject = "Test"
      .To = "happy.xuebi@163.com"
      .Body = xEmailBody
      .Display
      '.Send
      End With
      Set xMailOut = Nothing
      Set xOutApp = Nothing
      Application.ScreenUpdating = True
      End Sub
  • To post as a guest, your comment is unpublished.
    Ther · 1 years ago
    Hi experts, Do we have updates on how the format maintained?
    • To post as a guest, your comment is unpublished.
      crystal · 1 years ago
      Hi Ther,
      Can't figure it out. Sorry for that.
  • To post as a guest, your comment is unpublished.
    Gowtham · 2 years ago
    i am seeing a compile error (User-defined type not defined". Please help me out to overcome this.
    • To post as a guest, your comment is unpublished.
      crystal · 1 years ago
      Hi,
      Please get into the Reference window by clicking Tools > references. Scroll down to find and check the Microsoft Outlook Object Library box and click the OK button to finish the setting.
  • To post as a guest, your comment is unpublished.
    sachin kumr · 2 years ago
    this is pasting as a text. Kindly suggest how to send the table or the same format which is copied from the excel.
  • To post as a guest, your comment is unpublished.
    miguel · 2 years ago
    Code to send automatically after selecting after ok
  • To post as a guest, your comment is unpublished.
    Dhiraj Mahajan · 2 years ago
    Hi
    This code is vary excellent, by using the code i have completed my 90% of my project.
    I have same issue as mentioned by Anirudh that is table formatting. How can i format the table in email.
    Please help me......
    • To post as a guest, your comment is unpublished.
      crystal · 2 years ago
      Good Day,
      The problem can't be solved yet. Sorry for the inconvenience and thank you for your comment.
      • To post as a guest, your comment is unpublished.
        mahajand09@gmail.com · 2 years ago
        Hi, Is there any update on below.......
        • To post as a guest, your comment is unpublished.
          mahajand09@gmail.com · 2 years ago
          Hi, Also I Wanted code for "Filter by Date".
          I am working on project, on that project I wanted to filter the data by the date, actually we have filter/hide the and last 05 days to current date data and we have highlight all other data.
          Please help me to complete this project.
          Your help is very great-full for me.
  • To post as a guest, your comment is unpublished.
    ghosh · 2 years ago
    This is great. It is working as expected. The only issue is that the format of the table is not maintained in the mail. Can you let me know how do we preserve the format of the table in the mail
  • To post as a guest, your comment is unpublished.
    mfergus · 2 years ago
    This code is great, but I need to execute with a command button rather than pressing F5 in code view. I'd like my employees to be able to fill out some info, then hit the button and have it copy the range of cells they completed and paste into email. I can get code working for the email button and separately for the copy/paste of the range of cells, but can't seem to combine both functions. Please help!!! Thanks!
    • To post as a guest, your comment is unpublished.
      crystal · 2 years ago
      Hi Michael,
      You just need to create a button (such as a Button (Form Control)) in your worksheet, then assign the macro to the button.
      • To post as a guest, your comment is unpublished.
        prasana05@gmail.com · 1 years ago
        Hi Crystal, Thank you!
        I had a code created and was wondering how to assign the Command button to the code. Your post helped! and my report works like a charm.

        Thanks again.