Computer >> Hướng Dẫn Máy Tính >  >> Phần Mềm >> Office

Tự động gửi Email khách hàng từ Excel khi điều kiện đáp ứng – 3 phương pháp dễ dàng

Thường xuyên, chúng ta cần gửi email cho khách hàng khi một điều kiện được thỏa mãn. Bài viết này sẽ chỉ cho bạn 3 phương pháp để gửi một email nếu điều kiện được đáp ứng trong Excel. Để minh họa, chúng tôi chọn tập dữ liệu có 3 cột: "Tên", "Email", và "Thanh toán Đến hạn".

Tự động gửi Email khách hàng từ Excel khi điều kiện đáp ứng – 3 phương pháp dễ dàng

3 cách gửi Email nếu điều kiện đáp ứng trong Excel

1. Dùng VBA gửi Email nếu giá trị ô thay đổi trong Excel

Với phương pháp đầu tiên, chúng ta sẽ áp dụng mã Excel VBA để gửi một email khi điều kiện được đáp ứng. Trước hết, chúng ta sẽ mở cửa sổ VBA Module, sau đó gõ mã và thực thi để gửi email. Hơn nữa, trong trường hợp này, tiêu chí thực thi mã sẽ là khi giá trị ô thay đổi.

Các bước:

  • Trước hết, Right-Click vào sheet "Cell Value Change".
  • Thứ hai, chọn View Code.

Tự động gửi Email khách hàng từ Excel khi điều kiện đáp ứng – 3 phương pháp dễ dàng

  • Thứ ba, gõ mã này.
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Cells.Count > 1 Then Exit Sub If Not Application.Intersect(Range("D5"), Target) Is Nothing Then If IsNumeric(Target.Value) And Target.Value > 700 Then Call Send_Email_Condition_Cell_Value_Change End If End If End Sub

Phân tích mã VBA

Ở đây, chúng ta dùng Private Sub. Vì chúng ta sẽ không thực thi mã qua cửa sổ Macro. Mã này sẽ tự chạy khi có thay đổi giá trị ô.

  • Trước hết, dùng Private Sub nơi sự kiện là Worksheet_Change.
  • Thứ hai, giới hạn số ô là 1 và ô đó là D5.
  • Thứ ba, kiểm tra nếu nó lớn hơn 700.
  • Cuối cùng, nếu điều kiện đáp ứng thì Thủ tục con Send_Email_Condition_Cell_Value_Change sẽ thực thi.

Tự động gửi Email khách hàng từ Excel khi điều kiện đáp ứng – 3 phương pháp dễ dàng

  • Cuối cùng, Lưu và đóng cửa sổ này.

Bây giờ, chúng ta sẽ gõ mã vào cửa sổ Module. Để mở VBA Module, làm theo sau –

  • Trước hết, từ tab Developer >>> chọn Visual Basic.

Thay vào đó, bạn có thể nhấn ALT + F11 để hiển thị cửa sổ VBA.

Tự động gửi Email khách hàng từ Excel khi điều kiện đáp ứng – 3 phương pháp dễ dàng

  • Thứ hai, từ Insert >>> chọn Module.

Tự động gửi Email khách hàng từ Excel khi điều kiện đáp ứng – 3 phương pháp dễ dàng

Trong cửa sổ này, chúng ta sẽ gõ mã.

  • Gõ mã sau.
Sub Send_Email_Condition_Cell_Value_Change() Dim pApp As Object Dim pMail As Object Dim pBody As String Set pApp = CreateObject("Outlook.Application") Set pMail = pApp.CreateItem(0) pBody = "Hello, " & Range("B5").Value & vbNewLine & _ "You've Payment Due." & vbNewLine & _ "Please Pay it to avoid extra fees." On Error Resume Next With pMail .To = Range("C5").Value .CC = "" .BCC = "" .Subject = "Request For Payment" .Body = pBody .Display 'We can use .Send to Send the Email End With On Error GoTo 0 Set pMail = Nothing Set pApp = Nothing End Sub

Phân tích mã VBA

  • Trước hết, gọi Thủ tục con Send_Email_Condition_Cell_Value_Change.
  • Thứ hai, khai báo kiểu Biến.
  • Thứ ba, chọn Outlook làm Ứng dụng Thư.
  • Sau đó, nội dung email được đặt trong mã.
  • Sau đó, ".Display" dùng ở đây để hiển thị email. Do đó, chúng ta cần nhấn Send thủ công để gửi email. Hơn nữa, ta có thể dùng ".Send" để gửi email mà không hiển thị.

Tự động gửi Email khách hàng từ Excel khi điều kiện đáp ứng – 3 phương pháp dễ dàng

  • Sau đó, Lưu và đóng Module.

Bây giờ, trong tập dữ liệu, chúng ta gõ 699, và không có gì xảy ra.

Tự động gửi Email khách hàng từ Excel khi điều kiện đáp ứng – 3 phương pháp dễ dàng

Tuy nhiên, nếu gõ 801 (lớn hơn 700), mã sẽ thực thi.

Tự động gửi Email khách hàng từ Excel khi điều kiện đáp ứng – 3 phương pháp dễ dàng

Tùy chọn gửi Email Outlook sẽ hiện ra. Chúng ta nhấn Send để gửi email.

Tự động gửi Email khách hàng từ Excel khi điều kiện đáp ứng – 3 phương pháp dễ dàng

Đọc thêm: Cách gửi Email từ danh sách Excel (2 cách hiệu quả)

2. Dùng VBA gửi Email nếu nhiều điều kiện đáp ứng

Với phương pháp thứ hai, chúng ta thay đổi tập dữ liệu. Chúng ta sẽ gửi email khi nhiều điều kiện được đáp ứng. Hơn nữa, chúng ta dùng 2 Thủ tục con trong một Module duy nhất. Nếu mã hoạt động như ý, chúng ta sẽ gửi email cho 2 người. Hơn nữa, chúng ta sẽ đính kèm file vào email.

Tự động gửi Email khách hàng từ Excel khi điều kiện đáp ứng – 3 phương pháp dễ dàng

Các bước:

  • Trước hết, như phương pháp đầu tiên, mở cửa sổ Module và gõ mã này.
Option Explicit Sub Send_Email_Condition() Dim xSheet As Worksheet Dim mAddress As String, mSubject As String, eName As String Dim eRow As Long, x As Long Set xSheet = ThisWorkbook.Sheets("Conditions") With xSheet eRow = .Cells(.Rows.Count, 5).End(xlUp).Row For x = 5 To eRow If .Cells(x, 4) >= 1 And .Cells(x, 5) = "Yes" Then mAddress = .Cells(x, 3) mSubject = "Request For Payment" eName = .Cells(x, 2) Call Send_Email_With_Multiple_Condition(mAddress, mSubject, eName) End If Next x End With End Sub Sub Send_Email_With_Multiple_Condition(mAddress As String, mSubject As String, eName As String) Dim pApp As Object Dim pMail As Object Set pApp = CreateObject("Outlook.Application") Set pMail = pApp.CreateItem(0) With pMail .To = mAddress .CC = "" .BCC = "" .Subject = mSubject .Body = "Mr./Mrs. " & eName & ", Please pay it within the next week." .Attachments.Add ActiveWorkbook.FullName 'Send The File via Email .Display 'We can use .Send here too End With Set pMail = Nothing Set pApp = Nothing End Sub

Phân tích mã VBA

  • Trước hết, gọi Thủ tục con đầu Send_Email_Condition.
  • Thứ hai, khai báo kiểu Biến và đặt "Conditions" làm Sheet.
  • Thứ ba, tìm số hàng cuối. Hơn nữa, giá trị bắt đầu từ hàng 5, do đó chúng ta để hàng 5 đến hàng cuối trong mã.
  • Sau đó, gọi Thủ tục con thứ hai Send_Email_With_Multiple_Condition.
  • Sau đó, chọn Outlook làm Ứng dụng Thư.
  • Sau đó, đặt nội dung email trong mã.
  • Ở đây, chúng ta đính kèm file Excel với email dùng phương thức Attachment.
  • Sau đó, ".Display" dùng để hiển thị email. Do đó, cần nhấn Send thủ công để gửi email. Hơn nữa, ta có thể dùng ".Send" để gửi email không hiển thị.

Tự động gửi Email khách hàng từ Excel khi điều kiện đáp ứng – 3 phương pháp dễ dàng

  • Thứ hai, Lưu và đóng Module.

Bây giờ, chúng ta sẽ mở cửa sổ Macro để thực thi mã.

  • Trước hết, từ tab Developer >>> chọn Macros.

Tự động gửi Email khách hàng từ Excel khi điều kiện đáp ứng – 3 phương pháp dễ dàng

Cửa sổ Macro sẽ hiện ra.

  • Thứ hai, chọn "Send_Email_Condition".
  • Cuối cùng, nhấn Run.

Tự động gửi Email khách hàng từ Excel khi điều kiện đáp ứng – 3 phương pháp dễ dàng

Điều này sẽ thực thi mã. Hai người đáp ứng điều kiện, do đó chúng ta thấy 2 cửa sổ email.

Tự động gửi Email khách hàng từ Excel khi điều kiện đáp ứng – 3 phương pháp dễ dàng

Đọc thêm: Cách gửi Email tự động khi điều kiện đáp ứng trong Excel

Đọc thêm tương tự

  • Cách bật chia sổ làm việc trong Excel
  • Cách gửi Email hàng loạt từ Outlook dùng Excel (3 cách)
  • Macro gửi Email từ Excel có nội dung (3 trường hợp hữu ích)
  • Cách áp dụng Macro gửi Email từ Excel kèm tệp đính kèm
  • Cách chia sẻ file Excel trực tuyến (2 phương pháp dễ dàng)

3. Gửi Email trong Excel dựa trên điều kiện ngày

Với phương pháp cuối, chúng ta sẽ gửi email nếu hạn chót nằm trong vòng một tuần từ ngày hiện tại. Hôm nay là 19 tháng 5 2022 tại thời điểm viết bài. Do đó, chỉ có một hàng rơi trong 7 ngày. Đó là hàng 5. Chúng ta sẽ gửi một email cho người đó dùng mã VBA.

Tự động gửi Email khách hàng từ Excel khi điều kiện đáp ứng – 3 phương pháp dễ dàng

Các bước:

  • Trước hết, như phương pháp đầu tiên, mở cửa sổ Module và gõ mã này.
Public Sub Send_Email_Date_Condition() Dim rDate, rSend, rText As Range Dim pApp, pItem As Object Dim LRow, x As Long Dim lineBreak, pBody, rSendValue, mSubject As String On Error Resume Next Set rDate = Application.InputBox("Select Deadline Range:", "Exceldemy", , , , , , 8) If rDate Is Nothing Then Exit Sub Set rSend = Application.InputBox("Select Email Range:", "Exceldemy", , , , , , 8) If rSend Is Nothing Then Exit Sub Set rText = Application.InputBox("Select Email Topic Range:", "Exceldemy", , , , , , 8) If rText Is Nothing Then Exit Sub LRow = rDate.Rows.Count Set rDate = rDate(1) Set rSend = rSend(1) Set rText = rText(1) Set pApp = CreateObject("Outlook.Application") For x = 1 To LRow rDateValue = "" rDateValue = rDate.Offset(x - 1).Value If rDateValue <> "" Then If CDate(rDateValue) - Date <= 7 And CDate(rDateValue) - Date > 0 Then rSendValue = rSend.Offset(x - 1).Value mSubject = rText.Offset(x - 1).Value & " on " & rDateValue lineBreak = "

" pBody = "" pBody = pBody & "Dear " & rSendValue & lineBreak pBody = pBody & rText.Offset(x - 1).Value & lineBreak pBody = pBody & "" Set pItem = pApp.CreateItem(0) With pItem .Subject = mSubject .To = rSendValue .HTMLBody = pBody .Display 'We can also use .Send here End With Set pItem = Nothing End If End If Next Set pApp = Nothing End Sub

Phân tích mã VBA

  • Trước hết, gọi Thủ tục con đầu Send_Email_Date_Condition.
  • Thứ hai, khai báo kiểu Biến và đặt "Conditions" làm Sheet.
  • Thứ ba, dùng InputBox để đặt phạm vi giá trị.
  • Sau đó, chọn Outlook làm Ứng dụng Thư.
  • Sau đó, dùng hàm VBA CDate kiểm tra nếu ngày nằm trong 7 ngày từ ngày hiện tại.
  • Sau đó, đặt nội dung email trong mã.
  • Sau đó, dùng ".Display" để hiển thị email. Do đó, cần nhấn Send thủ công để gửi email. Hơn nữa, ta có thể dùng ".Send" để gửi email không hiển thị.

Tự động gửi Email khách hàng từ Excel khi điều kiện đáp ứng – 3 phương pháp dễ dàng

  • Thứ hai, Lưu và đóng Module.
  • Thứ ba, như phương pháp 2, mở cửa sổ Macro.
  • Sau đó, chọn "Send_Email_Date_Condition" và nhấn Run.

Tự động gửi Email khách hàng từ Excel khi điều kiện đáp ứng – 3 phương pháp dễ dàng

  • Trước hết, chọn cột ngày và nhấn OK.

Tự động gửi Email khách hàng từ Excel khi điều kiện đáp ứng – 3 phương pháp dễ dàng

  • Thứ hai. chọn cột email và nhấn OK.

Tự động gửi Email khách hàng từ Excel khi điều kiện đáp ứng – 3 phương pháp dễ dàng

  • Thứ ba, chọn cột nội dung email và nhấn OK.

Tự động gửi Email khách hàng từ Excel khi điều kiện đáp ứng – 3 phương pháp dễ dàng

  • Sau đó chúng ta sẽ thấy hộp thoại email. Chúng ta nhấn Send để đạt mục tiêu.

Tự động gửi Email khách hàng từ Excel khi điều kiện đáp ứng – 3 phương pháp dễ dàng

Đọc thêm: Cách tự động gửi Email từ Excel dựa trên ngày

Lưu ý quan trọng

  • Trong tất cả phương pháp, Outlook là Ứng dụng Email mặc định. Bạn có thể cần mã khác cho các Ứng dụng riêng biệt.

Phần thực hành

Chúng tôi đã thêm tập dữ liệu thực hành cho mỗi phương pháp trong file Excel.

Tự động gửi Email khách hàng từ Excel khi điều kiện đáp ứng – 3 phương pháp dễ dàng

Kết luận

Chúng tôi đã chỉ cho bạn 3 phương pháp để gửi một email nếu điều kiện được đáp ứng trong Excel. Cảm ơn bạn đã đọc, hãy tiếp tục xuất sắc!

Các bài viết liên quan

  • Cách gửi Email từ Excel có nội dung dùng Macro (với các bước dễ dàng)
  • Cách gửi Email tự động từ Excel đến Outlook (4 phương pháp)
  • Tự động gửi Email từ Excel dựa trên nội dung ô (2 phương pháp)
  • Cách gửi file Excel đến Email tự động (3 phương pháp phù hợp)
  • Gửi Email nhắc nhở tự động từ trang tính Excel dùng VBA
  • Cách xem ai đang ở trong file Excel chia sẻ (Với các bước nhanh)