Làm thế nào để gửi email nếu một ô nhất định được sửa đổi trong Excel?
Bài viết này nói về cách gửi email qua Outlook khi một ô trong một phạm vi nhất định được sửa đổi trong Excel.
Gửi email nếu ô trong một phạm vi nhất định được sửa đổi bằng mã VBA
Gửi email nếu ô trong một phạm vi nhất định được sửa đổi bằng mã VBA
Nếu bạn cần tự động tạo email mới với sổ làm việc đang hoạt động được đính kèm khi ô trong phạm vi A2: E11 được sửa đổi trong một trang tính nhất định, mã VBA sau có thể giúp bạn.
1. Trong trang tính mà bạn cần gửi email dựa trên ô đã sửa đổi của nó trong một phạm vi nhất định, hãy nhấp chuột phải vào tab trang tính và sau đó nhấp vào Mã Chế độ xem từ menu ngữ cảnh. Xem ảnh chụp màn hình:
2. Trong cửa sổ bật lên Microsoft Visual Basic cho các ứng dụng cửa sổ, vui lòng sao chép và dán mã VBA bên dưới vào cửa sổ Mã.
Mã VBA: Gửi email nếu ô trong một phạm vi cụ thể được sửa đổi trong Excel
Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 2017/9/12
Dim xRgSel As Range
Dim xOutApp As Object
Dim xMailItem As Object
Dim xMailBody As String
On Error Resume Next
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set xRg = Range("A2:E11")
Set xRgSel = Intersect(Target, xRg)
ActiveWorkbook.Save
If Not xRgSel Is Nothing Then
Set xOutApp = CreateObject("Outlook.Application")
Set xMailItem = xOutApp.CreateItem(0)
xMailBody = "Cell(s) " & xRgSel.Address(False, False) & _
" in the worksheet '" & Me.Name & "' were modified on " & _
Format$(Now, "mm/dd/yyyy") & " at " & Format$(Now, "hh:mm:ss") & _
" by " & Environ$("username") & "."
With xMailItem
.To = "Email Address"
.Subject = "Worksheet modified in " & ThisWorkbook.FullName
.Body = xMailBody
.Attachments.Add (ThisWorkbook.FullName)
.Display
End With
Set xRgSel = Nothing
Set xOutApp = Nothing
Set xMailItem = Nothing
End If
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
Chú ý:
3. Nhấn nút Khác + Q các phím đồng thời để đóng Microsoft Visual Basic cho các ứng dụng cửa sổ.
Từ bây giờ, bất kỳ ô nào trong phạm vi A2: E11 được sửa đổi, một email mới sẽ được tạo với sổ làm việc cập nhật được đính kèm. Và tất cả các trường được chỉ định như chủ đề, người nhận và nội dung email sẽ được liệt kê trong email. Vui lòng gửi email.
Chú thích: Mã VBA chỉ hoạt động nếu bạn đang sử dụng Outlook làm chương trình email của mình.
Các bài liên quan:
- Làm cách nào để tự động gửi email dựa trên giá trị ô trong Excel?
- Làm cách nào để gửi email qua Outlook khi sổ làm việc được lưu trong Excel?
- Làm thế nào để gửi email nếu nút được nhấp trong Excel?
- Làm thế nào để gửi email nếu ngày đến hạn đã được đáp ứng trong Excel?
- Làm cách nào để gửi lời nhắc hoặc thông báo qua email nếu sổ làm việc được cập nhật trong 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!