Làm thế nào để gửi email nếu ngày đến hạn đã được đáp ứng trong Excel?
Như được hiển thị trong ảnh chụp màn hình bên dưới, nếu ngày đến hạn trong cột C nhỏ hơn hoặc bằng 7 ngày (ví dụ: ngày hiện tại là 2017/9/13), một email sẽ được gửi đến người nhận được chỉ định trong cột A và nội dung được chỉ định trong cột B không được hiển thị trong phần nội dung của email. Bạn có thể làm như thế nào để đạt được nó? Bài viết này cung cấp mã VBA để giúp bạn thực hiện tác vụ này.
Gửi email nếu ngày đến hạn đã được đáp ứng với mã VBA
Gửi email nếu ngày đến hạn đã được đáp ứng với mã VBA
Vui lòng làm như sau để gửi email nhắc nhở nếu ngày đến hạn đã được đáp ứng trong Excel.
1. Nhấn nút Khác + F11 các phím đồng thời để mở Microsoft Visual Basic cho các ứng dụng cửa sổ.
2. bên trong Microsoft Visual Basic cho các ứng dụng cửa sổ, vui lòng nhấp vào 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 nếu ngày đến hạn bị đóng trong Excel
Public Sub CheckAndSendMail()
'Updated by Extendoffice 2018/11/22
Dim xRgDate As Range
Dim xRgSend As Range
Dim xRgText As Range
Dim xRgDone As Range
Dim xOutApp As Object
Dim xMailItem As Object
Dim xLastRow As Long
Dim vbCrLf As String
Dim xMailBody As String
Dim xRgDateVal As String
Dim xRgSendVal As String
Dim xMailSubject As String
Dim i As Long
On Error Resume Next
Set xRgDate = Application.InputBox("Please select the due date column:", "KuTools For Excel", , , , , , 8)
If xRgDate Is Nothing Then Exit Sub
Set xRgSend = Application.InputBox("Please select the recipients?email column:", "KuTools For Excel", , , , , , 8)
If xRgSend Is Nothing Then Exit Sub
Set xRgText = Application.InputBox("Select the column with reminded content in your email:", "KuTools For Excel", , , , , , 8)
If xRgText Is Nothing Then Exit Sub
xLastRow = xRgDate.Rows.count
Set xRgDate = xRgDate(1)
Set xRgSend = xRgSend(1)
Set xRgText = xRgText(1)
Set xOutApp = CreateObject("Outlook.Application")
For i = 1 To xLastRow
xRgDateVal = ""
xRgDateVal = xRgDate.Offset(i - 1).Value
If xRgDateVal <> "" Then
If CDate(xRgDateVal) - Date <= 7 And CDate(xRgDateVal) - Date > 0 Then
xRgSendVal = xRgSend.Offset(i - 1).Value
xMailSubject = xRgText.Offset(i - 1).Value & " on " & xRgDateVal
vbCrLf = "<br><br>"
xMailBody = "<HTML><BODY>"
xMailBody = xMailBody & "Dear " & xRgSendVal & vbCrLf
xMailBody = xMailBody & "Text : " & xRgText.Offset(i - 1).Value & vbCrLf
xMailBody = xMailBody & "</BODY></HTML>"
Set xMailItem = xOutApp.CreateItem(0)
With xMailItem
.Subject = xMailSubject
.To = xRgSendVal
.HTMLBody = xMailBody
.Display
'.Send
End With
Set xMailItem = Nothing
End If
End If
Next
Set xOutApp = Nothing
End Sub
Chú ý: Dòng Nếu CDate (xRgDateVal) - Ngày <= 7 và CDate (xRgDateVal) - Ngày> 0 Thì trong mã VBA có nghĩa là ngày đến hạn phải lớn hơn 1 ngày và nhỏ hơn hoặc bằng 7 ngày. Bạn có thể thay đổi nó khi bạn cần.
3. nhấn các Phím F5 để chạy mã. Trong lần xuất hiện đầu tiên Kutools cho Excel hộp thoại, vui lòng chọn phạm vi cột ngày đến hạn và sau đó nhấp vào OK cái nút. Xem ảnh chụp màn hình:
4. Sau đó, thứ hai Kutools cho Excel hộp thoại bật lên, vui lòng chọn phạm vi cột tương ứng chứa địa chỉ email của người nhận và nhấp vào OK cái nút. Xem ảnh chụp màn hình:
5. Cuối cùng Kutools cho Excel hộp thoại, chọn nội dung bạn muốn hiển thị trong nội dung email, sau đó bấm vào OK .
Sau đó, một email sẽ được tạo tự động với người nhận, chủ đề và nội dung được chỉ định được liệt kê ra nếu ngày đến hạn trong cột C nhỏ hơn hoặc bằng 7 ngày. Vui lòng nhấp vào Gửi để gửi email.
Chú ý:
1. Mỗi email được tạo tương ứng với một ngày đến hạn. Ví dụ: nếu có ba ngày đến hạn đáp ứng tiêu chí, ba thư email sẽ được tạo tự động.
2. Mã này sẽ không được kích hoạt nếu không có ngày nào đáp ứng tiêu chí.
3. Mã VBA chỉ hoạt động khi bạn 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 một ô nhất định được sửa đổi trong Excel?
- Làm thế nào để gửi email nếu nút được nhấp 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á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 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!












































