Skip to main content

如何從 Excel 中的指定範圍單元格發送電子郵件?

Author: Siluvia Last Modified: 2025-05-12

在許多情況下,Excel 工作表中的指定內容範圍可能對您的郵件溝通很有用。本文將介紹一種方法,直接在 Excel 中將指定範圍插入到郵件正文中發送郵件。

從 Excel 的指定範圍單元格發送電子郵件
使用一款出色的工具從指定範圍單元格發送電子郵件

更多 Excel 郵件教程...


從 Excel 的指定範圍單元格發送電子郵件

以下 VBA 代碼可以幫助您複製一個範圍並將其直接粘貼到 Outlook 郵件正文中。請按照以下步驟操作:

1. 在包含需要複製範圍的工作表中,同時按下「Alt + F11」鍵以打開「Microsoft Visual Basic for Applications」窗口。

2. 在打開的「Microsoft Visual Basic for Applications」窗口中,請點擊「工具」>「引用」,如下截圖所示。

3. 在「引用 - VBAProject」對話框中,請找到並勾選「Microsoft Outlook Object Library」選項,然後點擊「確定」按鈕。

A screenshot showing the References – VBAProject dialog box

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 = "測試")

5. 按下 F5 鍵運行代碼。在彈出的 Kutools for Excel 對話框中,請選擇需要粘貼到郵件正文中的範圍,然後點擊「確定」按鈕。見截圖:

A screenshot of the dialog box for selecting the range to paste into the email body

6. 現在已創建了一封帶有指定收件人、主題、正文和所選 Excel 範圍的郵件,請點擊「發送」按鈕來發送這封郵件。見截圖所示。

A screenshot showing a created email with Excel range pasted in the email body

注意:該 VBA 代碼僅在您使用 Outlook 作為郵件程序時有效。


使用一款出色的工具從指定範圍單元格發送電子郵件

如果您不使用 Outlook,但仍希望在 Excel 中直接發送電子郵件並將指定範圍數據粘貼到郵件中,我強烈推薦您使用 Kutools for Excel 的「發送電子郵件」功能。使用此功能,您只需配置一個郵箱的發件伺服器設置,然後就可以通過這個郵箱地址在 Excel 中直接發送郵件。

Kutools for Excel 提供超過 300 種進階功能,簡化複雜任務,提升創造力與效率。 結合 AI 能力,Kutools 能夠精準自動化任務,讓數據管理變得輕而易舉。Kutools for Excel 的詳細資訊...免費試用...

1. 首先,您需要準備一個包含所需欄位的郵件列表。

  • 提示:郵件列表必須至少包含兩行,並且第一行必須是標題(假設您想在 Excel 中向兩個郵件地址發送郵件,請輸入這兩個郵件地址並加上標題「郵箱」,如下截圖所示)。
  • A screenshot showing an Excel mailing list prepared for sending emails with Kutools
  • 或者,您可以使用「建立郵件清單」功能輕鬆創建郵件列表。

2. 選擇要添加到郵件正文中的範圍,然後按下 Ctrl + C 鍵進行複製。

3. 選擇整個郵件列表(包括標題),點擊「Kutools Plus」>「發送電子郵件」。見截圖:

A screenshot of the Send Emails button under the Kutools Plus menu in Excel

4. 接著會彈出「發送電子郵件」對話框。

  • 4.1) 所選郵件列表的項目會自動填充到相應的欄位中(您可以根據需要向郵件列表中添加更多欄位);
  • 4.2) 點擊郵件正文框,按下 Ctrl + V 鍵將所選範圍數據粘貼到其中。之後,根據需要添加其他內容;
  • 4.3) 取消勾選「使用 Outlook 發送」框;
  • 4.4) 點擊「發件伺服器(SMTP)設定」按鈕。見截圖:

    A screenshot of the Send Emails dialog box

5. 接著會彈出「發件伺服器(SMTP)設定 – 新建方案」對話框。請填寫郵件地址及其伺服器設置,勾選「儲存已發送郵件到」後指定一個目錄保存所有已發送郵件,然後點擊「確定」按鈕保存設置。

A screenshot of Outgoing Server (SMTP) Settings dialog

6. 返回到「發送電子郵件」對話框後,點擊「發送」按鈕發送郵件。

Kutools for Excel - 包含超過 300 種 Excel 必備工具。永久免費享受 AI 功能!立即下載!


相關文章:

從 Excel 中指定的單元格發送郵件給指定的郵件地址
假設您有一個郵件地址列表,並且希望在 Excel 中批量向這些郵件地址發送郵件消息。如何實現呢?本文將向您展示如何向 Excel 中指定的多個郵件地址發送郵件的方法。

在 Excel 中發送郵件時插入 Outlook 簽名
假設您想直接在 Excel 中發送郵件,如何將默認的 Outlook 簽名添加到郵件中?本文提供了兩種方法,幫助您在 Excel 中發送郵件時添加 Outlook 簽名。

在 Excel 中附上多個附件發送郵件
本文討論了如何通過 Outlook 在 Excel 中附上多個附件發送郵件。

如果到期日在 Excel 中已達成則發送郵件提醒
例如,如果列 C 中的到期日小於或等於 7 天(當前日期為 2017/9/13),則向列 A 中的指定收件人發送郵件提醒,並附上列 B 中的指定內容。如何實現?本文將詳細介紹一種 VBA 方法來處理這一問題。

根據 Excel 中的單元格值自動發送郵件
假設您希望根據 Excel 中的指定單元格值通過 Outlook 向特定收件人發送郵件。例如,當工作表中 D7 單元格的值大於 200 時,則自動創建一封郵件。本文介紹了一種 VBA 方法,幫助您快速解決這一問題。

更多 Excel 郵件教程...

最佳辦公效率工具

🤖 Kutools AI 助手:基於智能執行方式革新數據分析:智能執行   |  生成代碼  |  創建自訂公式  |  分析數據並生成圖表  |  調用 Kutools 函數
熱門功能查找、標記重複值或識別重複項   |  刪除空行   |  合併列或單元格而不丟失數據   |   四捨五入無需公式 ...
高級 LOOKUP多條件 VLookup    多值 VLookup  |   多表查找   |   模糊查找 ....
高級下拉列表快速創建下拉列表   |  依賴下拉列表   |  多選下拉列表 ....
列管理器添加特定數量的列  |  移動列  |  切換隱藏列的可見狀態  |  比較區域和列 ...
特色功能網格聚焦   |  設計檢視   |   增強編輯欄    工作簿與工作表管理器   |  資源庫(自動文本)   |  日期提取器   |  合併資料   |  加密/解密儲存格    按列表發送電子郵件   |  超級篩選   |   特殊篩選(篩選粗體/斜體/刪除線...) ...
頂級 15 種工具集12 個文本工具添加文本刪除特定字符、...)   |   50+ 圖表 類型甘特圖、...)   |   40+ 實用 公式基於生日計算年齡、...)   |   19 個插入工具插入QR碼根據路徑插入圖片、...)   |   12 個轉換工具金額轉大寫匯率轉換、...)   |   7 個合併與分割工具高級合併行分割儲存格、...)   |   ... 還有更多

使用 Kutools for Excel 提升您的 Excel 技巧,體驗前所未有的高效。 Kutools for Excel 提供超過 300 種高級功能來提高生產力並節省時間。  點擊這裡獲取您最需要的功能...


Office Tab 將標籤式界面帶到 Office,讓您的工作更加輕鬆

  • 在 Word、Excel、PowerPoint、Publisher、Access、Visio 和 Project 中啟用標籤式編輯和閱讀。
  • 在同一窗口的新標籤中打開和創建多個文檔,而不是在新窗口中。
  • 將您的生產力提高 50%,每天為您減少數百次鼠標點擊!