Làm thế nào để gửi / gửi email phạm vi ô thông qua outlook từ Excel?
Bạn đã bao giờ gặp phải vấn đề sau khi hoàn thành một báo cáo trong một trang tính và bạn cần gửi đến một loạt các ô trong trang tính này chứa một số dữ liệu quan trọng cho người nhận cụ thể của bạn. Có cách nào nhanh chóng để bạn gửi email phạm vi này từ Excel mà không cần mở Outlook không?
Gửi dải ô dưới dạng tệp đính kèm từ Excel với mã VBA
Gửi dải ô dưới dạng nội dung từ Excel với mã VBA
Gửi dải ô dưới dạng tệp đính kèm từ Excel với mã VBA
Mã VBA sau có thể giúp bạn gửi dải ô đã chọn của mình dưới dạng tệp đính kèm trong Excel. Vui lòng làm như sau:
1. Mở sổ làm việc của bạn và sau đó giữ ALT + F11 phím để mở Cửa sổ Microsoft Visual Basic for Applications.
2. Nhấp chuột Chèn > Mô-đunvà dán mã sau vào Cửa sổ mô-đun.
Mã VBA: gửi dải ô dưới dạng tệp đính kèm từ 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 = ""
.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
Chú thích: Trong đoạn mã trên, bạn có thể thay đổi các thông tin sau theo nhu cầu của riêng bạn.
- .To = ""
- .CC = ""
- .BCC = ""
- .Subject = "thông tin của kte"
- .Body = "xin chào, vui lòng kiểm tra và đọc tài liệu này."
3. Sau đó nhấn vào F5 để chạy mã này và một hộp nhắc sẽ bật ra để nhắc bạn chọn một dải ô mà bạn muốn gửi. Xem ảnh chụp màn hình:
4. Sau đó nhấn vào OKvà một hộp nhắc sẽ xuất hiện, sau khi thanh tiến trình kết thúc, hãy nhấp vào Cho phép, và sau đó phạm vi ô cụ thể đã được gửi đến người nhận của bạn dưới dạng tệp đính kèm.
Gửi dải ô dưới dạng nội dung từ Excel với mã VBA
Nếu bạn muốn gửi một phạm vi cụ thể như một phần của nội dung thư từ Excel, bạn cũng có thể áp dụng mã VBA sau để giải quyết nó.
Kutools cho Excel, với hơn 120 chức năng tiện dụng, giúp công việc của bạn dễ dàng hơn. | ||
1. Kích hoạt trang tính của bạn và nhấn giữ ALT + F11 phím để mở Cửa sổ Microsoft Visual Basic for Applications.
2. Nhấp chuột Chèn > Mô-đunvà dán mã sau vào Cửa sổ mô-đun.
Mã VBA: gửi dải ô dưới dạng nội dung từ Excel
Sub EmailRange()
'Update 20131209
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 = ""
.Item.Subject = "information of kte"
.Item.Send
End With
Application.ScreenUpdating = True
End Sub
Lưu ý: Trong đoạn mã trên, bạn có thể thay đổi thông tin sau theo nhu cầu của mình.
- .Introduction = "Vui lòng đọc email này."
- .Item.To = ""
- .Item.Subject = "thông tin của kte"
3. Sau đó nhấn vào F5 để chạy mã này và một hộp nhắc sẽ bật ra để nhắc bạn chọn một dải ô mà bạn muốn gửi.
4. Sau đó nhấn vào OKvà một hộp nhắc sẽ xuất hiện, sau khi thanh tiến trình kết thúc, hãy nhấp vào Cho phép, và sau đó phạm vi ô cụ thể đã được gửi đến người nhận của bạn dưới dạng nội dung thư.
Ghi chú:
1. Các mã này chỉ khả dụng khi Outlook làm chương trình thư của bạn.
2. Sau khi gửi trang tính hiện tại, bạn có thể vào Outlook của mình để đảm bảo rằng email đã được gửi thành công hay chưa.
Các bài liên quan:
Làm cách nào để chỉ gửi trang tính qua Outlook từ Excel?
Làm cách nào để gửi sổ làm việc hiện tại qua Outlook từ Excel?
Công cụ năng suất văn phòng tốt nhất
Nâng cao kỹ năng Excel của bạn với Kutools for Excel và trải nghiệm hiệu quả hơn bao giờ hết. Kutools for Excel cung cấp hơn 300 tính năng nâng cao để tăng năng suất và tiết kiệm thời gian. Bấm vào đây để có được tính năng bạn cần nhất...
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!