Note: The other languages of the website are Google-translated. Back to English

Làm cách nào để gửi email bằng cách sao chép và dán một phạm vi được chỉ định vào nội dung email trong Excel?

Trong nhiều trường hợp, một loạt nội dung cụ thể trong trang tính Excel có thể hữu ích trong giao tiếp qua email của bạn. Trong bài viết này, chúng tôi sẽ giới thiệu phương pháp gửi email với phạm vi được chỉ định dán vào nội dung email trực tiếp trong Excel.

Gửi email với một phạm vi cụ thể được dán vào nội dung email trong Excel
Gửi email với một phạm vi cụ thể được dán vào nội dung email bằng một công cụ tuyệt vời

Các hướng dẫn khác để gửi thư trong Excel ...


Gửi email với một phạm vi cụ thể được dán vào nội dung email trong Excel

Mã VBA sau có thể giúp bạn sao chép một dải ô và dán nó vào nội dung email Outlook trực tiếp trong Excel. Hãy làm như sau.

1. Trong trang tính có chứa phạm vi bạn cần sao chép, hãy nhấn Khác + F11 các phím đồng thời để mở Microsoft Visual Basic cho các ứng dụng cửa sổ.

2. Trong phần mở đầu Microsoft Visual Basic cho các ứng dụng cửa sổ, vui lòng nhấp vào CÔNG CỤ > dự án như ảnh chụp màn hình dưới đây.

3. bên trong Tài liệu tham khảo - VBAProject hộp thoại, vui lòng tìm và kiểm tra Thư viện đối tượng Microsoft Outlook rồi bấm vào OK .

4. nhấp chuột Chèn > Mô-đun, sau đó sao chép và dán mã VBA bên dưới vào cửa sổ Mô-đun.

Mã VBA: Gửi email với một phạm vi xác định được dán vào nội dung email trong 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

Chú ý:

  • 1). Vui lòng thay đổi nội dung email trong dòng xEmailBody = "Xin chào" & vbLf & vbLf & "nội dung thư bạn muốn thêm" & vbLf & vbLf & xEmailBody & vbNewLine như bạn cần.
  • 2). Vui lòng chỉ định người nhận email và chủ đề của bạn (.to=vui.xuebi@163.com.Subject = "test") dòng trong mã.

5. Nhấn nút F5 phím để chạy mã. Trong cửa sổ bật lên Kutools cho Excel hộp thoại, vui lòng chọn phạm vi bạn cần dán vào nội dung email, sau đó nhấp vào OK cái nút. Xem ảnh chụp màn hình:

6. Bây giờ một email được tạo với người nhận, chủ đề, nội dung và phạm vi Excel đã chọn được chỉ định, vui lòng nhấp vào Gửi để gửi email này. Xem ảnh chụp màn hình được hiển thị.

Chú thích: Mã VBA chỉ hoạt động khi bạn sử dụng Outlook làm chương trình email của mình.


Gửi email với một phạm vi cụ thể được dán vào nội dung email bằng một công cụ tuyệt vời

Nếu bạn không sử dụng Outlook và vẫn muốn gửi email trực tiếp trong Excel với dữ liệu phạm vi cụ thể được dán bên trong, tôi thực sự khuyên bạn nên Gửi email tiện ích của Kutools cho Excel cho bạn. Với tính năng này, bạn chỉ cần định cấu hình máy chủ gửi đi của một địa chỉ email, sau đó gửi email trong Excel trực tiếp qua địa chỉ email này trong tương lai.

Trước khi áp dụng Kutools cho Excel, Xin vui lòng tải xuống và cài đặt nó trước tiên.

1. Đầu tiên, bạn cần chuẩn bị một danh sách gửi thư với các trường cần thiết.

  • Lời khuyên: Danh sách gửi thư phải chứa ít nhất 2 hàng và hàng đầu tiên phải là tiêu đề (Giả sử bạn muốn gửi email đến hai địa chỉ email trong Excel, vui lòng nhập vào hai địa chỉ email này với tiêu đề “Email” như hình minh họa bên dưới ).
  • Ngoài ra, bạn có thể dễ dàng tạo một danh sách gửi thư với Tạo danh sách gửi thư tính năng này.

2. Chọn phạm vi bạn sẽ thêm dữ liệu vào nội dung email và nhấn Ctrl + C phím để sao chép nó.

3. Chọn toàn bộ danh sách gửi thư (bao gồm tiêu đề), nhấp vào Kutools Plus > Gửi email. Xem ảnh chụp màn hình:

4. Sau đó Gửi email hộp thoại bật lên.

  • 4.1) Các mục của danh sách gửi thư đã chọn được điền vào các trường tương ứng (bạn có thể thêm các trường khác vào danh sách gửi thư khi cần);
  • 4.2) Nhấp vào hộp nội dung email, nhấn Ctrl + V để dán dữ liệu phạm vi đã chọn vào đó. Sau đó, thêm nội dung khác khi bạn cần;
  • 4.3 Bỏ chọn Gửi email qua Outlook cái hộp;
  • 2.4) Nhấp vào Cài đặt máy chủ thư đi cái nút. Xem ảnh chụp màn hình:

5. Sau đó Cài đặt Máy chủ thư đi (SMTP) - Lược đồ mới hộp thoại bật lên. Vui lòng điền vào địa chỉ email với cài đặt máy chủ của nó, chỉ định một thư mục để lưu tất cả các thư đã gửi sau khi kiểm tra Lưu các email đã gửi tới và sau đó bấm vào OK để lưu cài đặt.

6. Khi nó trở về Gửi email hộp thoại, nhấp vào Gửi để gửi email.

Từ bây giờ, bạn có thể gửi trực tiếp email với tính năng này trong Excel.

  Nếu bạn muốn dùng thử miễn phí (30-day) của tiện ích này, vui lòng nhấp để tải xuống, và sau đó đi đến áp dụng hoạt động theo các bước trên.


Các bài liên quan:

Gửi email đến các địa chỉ email được chỉ định trong các ô trong Excel
Giả sử bạn có một danh sách các địa chỉ email và bạn muốn gửi hàng loạt email đến các địa chỉ email này trực tiếp trong Excel. Làm thế nào để đạt được nó? Bài viết này sẽ chỉ cho bạn các phương pháp gửi email đến nhiều địa chỉ email được chỉ định trong các ô trong Excel.

Chèn chữ ký Outlook khi gửi email trong Excel
Giả sử bạn muốn gửi email trực tiếp trong Excel, làm cách nào bạn có thể thêm chữ ký Outlook mặc định trong email của mình? Bài viết này cung cấp hai phương pháp để giúp bạn thêm chữ ký Outlook khi gửi email trong Excel.

Gửi email với nhiều tệp đính kèm trong Excel
Bài viết này nói về cách gửi email qua Outlook với nhiều tệp đính kèm được đính kèm trong Excel.

Gửi email nếu ngày đến hạn đã được đáp ứng trong Excel
Ví dụ: nếu ngày đến hạn trong cột C nhỏ hơn hoặc bằng 7 ngày (ngày hiện tại là ngày 2017/9/13), thì hãy gửi lời nhắc qua email đến người nhận được chỉ định trong cột A với nội dung được chỉ định trong cột B. Cách thực hiện Đạt được nó? Bài viết này sẽ cung cấp một phương pháp VBA để giải quyết nó một cách chi tiết.

Tự động gửi email dựa trên giá trị ô trong Excel
Giả sử bạn muốn gửi email qua Outlook đến một người nhận nhất định dựa trên một giá trị ô được chỉ định trong Excel. Ví dụ: khi giá trị của ô D7 trong trang tính lớn hơn 200, thì một email sẽ được tạo tự động. Bài viết này giới thiệu một phương pháp VBA để bạn nhanh chóng giải quyết vấn đề này.

Các hướng dẫn khác để gửi thư trong Excel ...


Các công cụ năng suất văn phòng tốt nhất

Kutools cho Excel giải quyết hầu hết các vấn đề của bạn và tăng 80% năng suất của bạn

  • Tái sử dụng: Chèn nhanh công thức phức tạp, biểu đồ và bất cứ thứ gì bạn đã sử dụng trước đây; Mã hóa ô với mật khẩu; Tạo danh sách gửi thư và gửi email ...
  • Thanh siêu công thức (dễ dàng chỉnh sửa nhiều dòng văn bản và công thức); Bố cục đọc (dễ dàng đọc và chỉnh sửa số lượng ô lớn); Dán vào Dải ô đã Lọchữu ích. Cảm ơn !
  • Hợp nhất các ô / hàng / cột mà không làm mất dữ liệu; Nội dung phân chia ô; Kết hợp các hàng / cột trùng lặp... Ngăn chặn các ô trùng lặp; So sánh các dãyhữu ích. Cảm ơn !
  • Chọn trùng lặp hoặc duy nhất Hàng; Chọn hàng trống (tất cả các ô đều trống); Tìm siêu và Tìm mờ trong Nhiều Sổ làm việc; Chọn ngẫu nhiên ...
  • Bản sao chính xác Nhiều ô mà không thay đổi tham chiếu công thức; Tự động tạo tài liệu tham khảo sang Nhiều Trang tính; Chèn Bullets, Hộp kiểm và hơn thế nữa ...
  • Trích xuất văn bản, Thêm Văn bản, Xóa theo Vị trí, Xóa không gian; Tạo và In Tổng số phân trang; Chuyển đổi giữa nội dung ô và nhận xéthữu ích. Cảm ơn !
  • Siêu lọc (lưu và áp dụng các lược đồ lọc cho các trang tính khác); Sắp xếp nâng cao theo tháng / tuần / ngày, tần suất và hơn thế nữa; Bộ lọc đặc biệt bằng cách in đậm, in nghiêng ...
  • Kết hợp Workbook và WorkSheets; Hợp nhất các bảng dựa trên các cột chính; Chia dữ liệu thành nhiều trang tính; Chuyển đổi hàng loạt xls, xlsx và PDFhữu ích. Cảm ơn !
  • Hơn 300 tính năng mạnh mẽ. Hỗ trợ Office / Excel 2007-2021 và 365. Hỗ trợ tất cả các ngôn ngữ. Dễ dàng triển khai trong doanh nghiệp hoặc tổ chức của bạn. Đầy đủ tính năng Dùng thử miễn phí 30 ngày. Bảo đảm hoàn lại tiền trong 60 ngày.
tab kte 201905

Tab Office mang lại giao diện Tab cho Office và giúp công việc của bạn trở nên dễ dàng hơn nhiều

  • Cho phép chỉnh sửa và đọc theo thẻ trong Word, Excel, PowerPoint, Publisher, Access, Visio và Project.
  • Mở và tạo nhiều tài liệu trong các tab mới của cùng một cửa sổ, thay vì trong các cửa sổ mới.
  • Tăng 50% năng suất của bạn và giảm hàng trăm cú nhấp chuột cho bạn mỗi ngày!
officetab dưới cùng
Nhận xét (20)
Xếp hạng 4.5 trong 5 · xếp hạng 1
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Mã này rất tuyệt, nhưng tôi cần thực thi bằng nút lệnh thay vì nhấn F5 trong chế độ xem mã. Tôi muốn nhân viên của mình có thể điền một số thông tin, sau đó nhấn nút và yêu cầu nhân viên sao chép phạm vi ô mà họ đã hoàn thành và dán vào email. Tôi có thể nhận được mã hoạt động cho nút email và riêng cho bản sao / dán của phạm vi ô, nhưng dường như không thể kết hợp cả hai chức năng. Hãy giúp tôi!!! Thanks!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Hi Michael,
Bạn chỉ cần tạo một nút (chẳng hạn như Nút (Điều khiển biểu mẫu)) trong trang tính của mình, sau đó gán macro cho nút.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Chào Crystal, Cảm ơn bạn!
Tôi đã tạo một mã và đang tự hỏi làm cách nào để gán nút Lệnh cho mã. Bài viết của bạn đã giúp! và báo cáo của tôi hoạt động như một cái duyên.

Cảm ơn lần nữa.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Điều đó thật tuyệt. Nó đang hoạt động như mong đợi. Vấn đề duy nhất là định dạng của bảng không được duy trì trong thư. Bạn có thể cho tôi biết cách chúng tôi giữ nguyên định dạng của bảng trong thư được không
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Hi
Mã này rất khác biệt, bằng cách sử dụng mã, tôi đã hoàn thành 90% dự án của mình.
Tôi có cùng một vấn đề như được đề cập bởi Anirudh đó là định dạng bảng. Làm cách nào để tôi có thể định dạng bảng trong email.
Làm ơn giúp tôi......
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Ngày tốt,
Vấn đề vẫn chưa thể được giải quyết. Xin lỗi vì sự bất tiện này và cảm ơn bạn đã bình luận.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, Có bất kỳ cập nhật nào bên dưới .......
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, Tôi cũng muốn mã cho "Lọc theo ngày".
Tôi đang làm việc trong dự án, trong dự án đó, tôi muốn lọc dữ liệu theo ngày, thực ra chúng tôi đã lọc / ẩn dữ liệu ngày hiện tại và 05 ngày qua và chúng tôi đã đánh dấu tất cả các dữ liệu khác.
Xin hãy giúp tôi để hoàn thành đồ án này.
Sự giúp đỡ của bạn là rất tuyệt vời - đầy đủ cho tôi.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Mã sẽ tự động gửi sau khi chọn sau khi ok
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
đây là dán dưới dạng văn bản. Vui lòng đề xuất cách gửi bảng hoặc định dạng tương tự được sao chép từ excel.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
tôi đang gặp lỗi biên dịch (Không xác định được kiểu do người dùng định nghĩa ". Vui lòng giúp tôi khắc phục điều này.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Chào,
Vui lòng vào cửa sổ Tham chiếu bằng cách nhấp vào Công cụ> tài liệu tham khảo. Cuộn xuống để tìm và đánh dấu vào hộp Thư viện đối tượng Microsoft Outlook và nhấp vào nút OK để hoàn tất cài đặt.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào các chuyên gia, Chúng tôi có cập nhật về cách duy trì định dạng không?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào Ther,
Không thể tìm ra nó. Xin lỗi vì điều đó.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Chào,
Thay vì chọn phạm vi theo cách thủ công, tôi muốn chọn phạm vi tự động.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Chào Raman,
Trong đoạn mã dưới đây, vui lòng thay thế dải ô "A1: C5" trong dòng Đặt xRg = Range ("A1: C5") bằng dải ô của riêng bạn.

Sub Send_Email ()
Dim xRg theo phạm vi
Dim I, J As Long
Dim xaddress dưới dạng chuỗi
Dim xEmailBody dưới dạng chuỗi
Làm mờ xMailOut dưới dạng Outlook.MailItem
Dim xOutApp As Outlook.
On Error Resume Next
xAddress = ActiveWindow.RangeSelection.Address
Đặt xRg = Range ("A1: C5")
Nếu xRg không có gì thì thoát Sub
Application.ScreenUpdating = Sai
Đặt xOutApp = CreateObject ("Outlook.Application")
Đặt xMailOut = xOutApp.CreateItem (olMailItem)
Đối với I = 1 Đến xRg.Rows.Count
Đối với J = 1 Đến xRg.Columns.Count
xEmailBody = xEmailBody & "" & xRg.Cells (I, J) .Value
Sau
xEmailBody = xEmailBody & vbNewLine
Sau
xEmailBody = "Xin chào" & vbLf & vbLf & "nội dung thư bạn muốn thêm" & vbLf & vbLf & xEmailBody & vbNewLine
Với xMailOut
.Subject = "Kiểm tra"
.To = "happy.xuebi@163.com"
.Body = xEmailBody
.Trưng bày
'.Gửi
Kết thúc với
Đặt xMailOut = Không có gì
Đặt xOutApp = Không có gì
Application.ScreenUpdating = True
End Sub
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Chào,
Thay vì chọn phạm vi, tôi muốn chọn nhiều trục trong excel.
Bạn có thể giúp tôi không.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
chào bạn,
bạn có thể giúp tôi ở bên dưới được không
Tôi đã tạo trang tính excel và cập nhật chi tiết thư của 10 nhà cung cấp Tôi đã gửi thư qua excel cho tất cả 10 nhà cung cấp với tệp đính kèm trang tính riêng lẻ với thư cá nhân.
Tôi muốn dán dữ liệu excel vào nội dung outlook thay vì tệp đính kèm trong thư
Ai giúp tôi với
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Vấn đề duy nhất là định dạng của bảng không được duy trì trong thư. Bạn có thể cho tôi biết làm thế nào để chúng tôi giữ nguyên định dạng của bảng trong thư, tôi có cùng một vấn đề, bạn có thể xem nếu bạn có thể cập nhật nó, nếu không, điều này là tuyệt vời.
Rất cám ơn
Xếp hạng 4.5 trong 5
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào Andy Mitchell,
Nếu bạn muốn duy trì định dạng của bảng, tập lệnh VBA sau đây có thể giúp bạn. Hãy thử nó. Cảm ơn bạn.
Sub Send_Email()
'Updated by Extendoffice 20220616
    Dim xRg As Range
    Dim I, J As Long
    Dim xAddress As String
    Dim xMailOut As Object
    Dim xOutApp As Object
    On Error Resume Next
    Set xOutApp = CreateObject("Outlook.Application")
    Set xMailOut = xOutApp.CreateItem(olMailItem)
    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)
    With xMailOut
        .Subject = "Test"
        .To = "happy.xuebi@163.com"
        .HTMLBody = RangetoHTML(xRg)
        .Display
        '.Send
    End With
    Set xMailOut = Nothing
    Set xOutApp = Nothing
    Application.ScreenUpdating = True
End Sub

 ' The following VBA script is cited from this page:
 ' https://stackoverflow.com/questions/18663127/paste-excel-range-in-outlook
Function RangetoHTML(rng As Range)
' By Ron de Bruin.
    Dim fso As Object
    Dim ts As Object
    Dim TempFile As String
    Dim TempWB As Workbook

    TempFile = Environ$("temp") & "/" & Format(Now, "dd-mm-yy h-mm-ss") & ".htm"

    'Copy the range and create a new workbook to past the data in
    rng.Copy
    Set TempWB = Workbooks.Add(1)
    With TempWB.Sheets(1)
        .Cells(1).PasteSpecial Paste:=8
        .Cells(1).PasteSpecial xlPasteValues, , False, False
        .Cells(1).PasteSpecial xlPasteFormats, , False, False
        .Cells(1).Select
        Application.CutCopyMode = False
        On Error Resume Next
        .DrawingObjects.Visible = True
        .DrawingObjects.Delete
        On Error GoTo 0
    End With

    'Publish the sheet to a htm file
    With TempWB.PublishObjects.Add( _
         SourceType:=xlSourceRange, _
         Filename:=TempFile, _
         Sheet:=TempWB.Sheets(1).Name, _
         Source:=TempWB.Sheets(1).UsedRange.Address, _
         HtmlType:=xlHtmlStatic)
        .Publish (True)
    End With

    'Read all data from the htm file into RangetoHTML
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set ts = fso.GetFile(TempFile).OpenAsTextStream(1, -2)
    RangetoHTML = ts.ReadAll
    ts.Close
    RangetoHTML = Replace(RangetoHTML, "align=center x:publishsource=", _
                          "align=left x:publishsource=")

    'Close TempWB
    TempWB.Close savechanges:=False

    'Delete the htm file we used in this function
    Kill TempFile

    Set ts = Nothing
    Set fso = Nothing
    Set TempWB = Nothing
End Function
Không có bình luận nào được đăng ở đây
Để lại ý kiến ​​của bạn
Đăng với tư cách khách
×
Đánh giá bài viết này:
0   Nhân vật
Các vị trí được đề xuất

Kết nối với chúng tôi

Bản quyền © 2009 - www.extendoffice.com. | Đã đăng ký Bản quyền. cung cấp bởi ExtendOffice. | BẢN ĐỒ CHI NHÁNH
Microsoft và logo Office là các nhãn hiệu hoặc nhãn hiệu đã đăng ký của Microsoft Corporation tại Hoa Kỳ và / hoặc các quốc gia khác.
Được bảo vệ bởi Sectigo SSL