Computer >> Máy Tính >  >> Phần mềm >> Office

Cách gửi email nếu có điều kiện trong Excel (3 phương pháp dễ dàng)

Thông thường, chúng tôi cần gửi email cho khách hàng của chúng tôi khi một điều kiện Được hoàn thành. Bài viết này sẽ cho bạn thấy 3 các phương pháp để gửi một email nếu điều kiện được đáp ứng trong Excel . Để chứng minh các phương pháp của mình, 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 ”.

Cách gửi email nếu có điều kiện trong Excel (3 phương pháp dễ dàng)

3 cách để gửi email nếu có điều kiện trong Excel

1. Sử dụng VBA để gửi email nếu giá trị ô thay đổi trong Excel

Đối với phương pháp đầu tiên, chúng tôi sẽ áp dụng Excel VBA mã để gửi một email khi một điều kiện được đáp ứng . Đầu tiên, chúng tôi sẽ đưa ra Mô-đun VBA cửa sổ, sau đó chúng tôi sẽ nhập mã của mình 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ã của chúng tôi sẽ là khi giá trị ô thay đổi.

Các bước:

  • Đầu tiên, Nhấp chuột phải về “ Thay đổi giá trị ô ”Trang tính.
  • Thứ hai, chọn Xem mã .

Cách gửi email nếu có điều kiện trong Excel (3 phương pháp dễ dàng)

  • Thứ ba, nhập 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 tôi sẽ sử dụng Sub riêng tư . Bởi vì chúng tôi sẽ không thực thi mã này qua Macro cửa sổ. Mã này sẽ tự chạy khi có ô thay đổi giá trị.

  • Đầu tiên, chúng tôi đang sử dụng Sub riêng tư nơi diễn ra sự kiện Worksheet_Change .
  • Thứ hai, chúng tôi đang giới hạn số lượng ô đến 1 ô đó là D5 .
  • Thứ ba, chúng tôi đang kiểm tra xem nó có lớn hơn 700 .
  • Cuối cùng, nếu điều kiện được đáp ứng thì Thủ tục phụ Send_Email_Condition_Cell_Value_Change sẽ thực thi.

Cách gửi email nếu có điều kiện trong Excel (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 tôi sẽ nhập mã vào Mô-đun cửa sổ. Để hiển thị Mô-đun VBA , hãy làm theo những điều này -

  • Đầu tiên, từ Nhà phát triển tab>>> chọn Visual Basic .

Ngoài ra, bạn có thể nhấn ALT + F11 để hiển thị VBA cửa sổ.

Cách gửi email nếu có điều kiện trong Excel (3 phương pháp dễ dàng)

  • Thứ hai, từ Chèn >>> chọn Mô-đun .

Cách gửi email nếu có điều kiện trong Excel (3 phương pháp dễ dàng)

Trong cửa sổ này, chúng tôi sẽ nhập mã của mình.

  • Nhập 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

  • Đầu tiên, chúng tôi đang gọi Thủ tục phụ của chúng tôi Send_Email_Condition_Cell_Value_Change .
  • Thứ hai, chúng tôi đang khai báo Biến các loại.
  • Thứ ba, chúng tôi đang chọn Outlook Ứng dụng Thư của chúng tôi .
  • Sau đó, email nội dung được đặt trong mã của chúng tôi.
  • Sau đó, “ .Hiển thị ”Được sử dụng ở đây để hiển thị email của chúng tôi . Do đó, chúng tôi sẽ cần nhấn Gửi để gửi theo cách thủ công email . Hơn nữa, chúng tôi có thể sử dụng “ .Send ”Để gửi email mà không cần hiển thị.

Cách gửi email nếu có điều kiện trong Excel (3 phương pháp dễ dàng)

  • Sau đó, Lưu và đóng Mô-đun .

Bây giờ, trong tập dữ liệu của chúng tôi, chúng tôi có thể nhập 699 và sẽ không có gì xảy ra.

Cách gửi email nếu có điều kiện trong Excel (3 phương pháp dễ dàng)

Tuy nhiên, nếu chúng ta nhập 801 (hơn 700 ), sau đó mã của chúng tôi sẽ thực thi.

Cách gửi email nếu có điều kiện trong Excel (3 phương pháp dễ dàng)

Email Outlook tùy chọn gửi sẽ được hiển thị. Chúng tôi có thể nhấn Gửi để gửi email địa chỉ.

Cách gửi email nếu có điều kiện trong Excel (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. Sử dụng VBA để gửi email nếu đáp ứng nhiều điều kiện

Đối với phương pháp thứ hai, chúng tôi đã thay đổi tập dữ liệu của mình. Chúng tôi sẽ gửi email khi nhiều điều kiện được đáp ứng trong phương pháp này. Hơn nữa, chúng tôi sẽ sử dụng 2 Thủ tục phụ trong một Mô-đun cho điều này. Nếu mã của chúng tôi hoạt động như dự định, thì chúng tôi sẽ gửi email đến 2 Mọi người. Hơn nữa, chúng tôi sẽ đính kèm tệp vào email của chúng tôi .

Cách gửi email nếu có điều kiện trong Excel (3 phương pháp dễ dàng)

Các bước:

  • Đầu tiên, như được hiển thị trong phương pháp đầu tiên , hiển thị Mô-đun cửa sổ và nhập 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

  • Đầu tiên, chúng tôi gọi Thủ tục phụ đầu tiên của chúng tôi Gửi_Email_Condition .
  • Thứ hai, chúng tôi đang khai báo Biến loại và cài đặt “ Điều kiện ”Là Trang tính của chúng tôi .
  • Thứ ba, hàng cuối cùng số được tìm thấy. Hơn nữa, giá trị của chúng tôi bắt đầu từ hàng 5 , do đó chúng tôi đã đặt hàng 5 đến hàng cuối cùng trong mã của chúng tôi.
  • Sau đó, hãy gọi Thủ tục phụ thứ hai của chúng tôi Gửi_Email_With_Multiple_Condition .
  • Sau đó, chúng tôi sẽ chọn Outlook Ứng dụng Thư của chúng tôi .
  • Sau đó, đặt email nội dung trong mã của chúng tôi.
  • Ở đây, chúng tôi đang đính kèm Excel gửi bằng email sử dụng Tệp đính kèm phương pháp.
  • Sau đó, “ .Hiển thị ”Được sử dụng ở đây để hiển thị email của chúng tôi . Do đó, chúng tôi sẽ cần nhấn Gửi để gửi theo cách thủ công email . Hơn nữa, chúng tôi có thể sử dụng “ .Send ”Để gửi email mà không cần hiển thị.

Cách gửi email nếu có điều kiện trong Excel (3 phương pháp dễ dàng)

  • Thứ hai, Lưu và đóng Mô-đun .

Bây giờ, chúng tôi sẽ mang đến Macro cửa sổ để thực thi mã của chúng tôi.

  • Đầu tiên, từ Nhà phát triển tab>>> chọn Macro .

Cách gửi email nếu có điều kiện trong Excel (3 phương pháp dễ dàng)

Macro cửa sổ sẽ bật lên.

  • Thứ hai, chọn “ Send_Email_Condition ”.
  • Cuối cùng, nhấn Chạy .

Cách gửi email nếu có điều kiện trong Excel (3 phương pháp dễ dàng)

Điều này sẽ thực thi mã của chúng tôi. Hai người đã gặp nhau điều kiện của chúng tôi , do đó chúng tôi sẽ thấy hai email cửa sổ tại đây.

Cách gửi email nếu có điều kiện trong Excel (3 phương pháp dễ dàng)

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

Bài đọc tương tự

  • Cách Bật Chia sẻ Sổ làm việc trong Excel
  • Cách gửi hàng loạt email từ Outlook bằng Excel (3 cách)
  • Macro để Gửi Email từ Excel với Nội dung (3 Trường hợp Hữu ích)
  • Cách Áp dụng Macro để Gửi Email từ Excel với Phần đính kèm
  • Cách Chia sẻ Tệp 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

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

Cách gửi email nếu có điều kiện trong Excel (3 phương pháp dễ dàng)

Các bước:

  • Đầu tiên, như được hiển thị trong phương pháp đầu tiên , hiển thị Mô-đun cửa sổ và nhập 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 = "<br><br>"
            pBody = "<HTML><BODY>"
            pBody = pBody & "Dear " & rSendValue & lineBreak
            pBody = pBody & rText.Offset(x - 1).Value & lineBreak
            pBody = pBody & "</BODY></HTML>"
            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

  • Đầu tiên, chúng tôi gọi Thủ tục phụ đầu tiên của chúng tôi Send_Email_Date_Condition .
  • Secondly, we’re declaring the Variable types and setting “Conditions ” as our Sheet .
  • Thirdly, we’re using InputBox to set the range of our values.
  • After that, we’re selecting Outlook as our Mail Application .
  • Then, we’re using the VBA CDate function to check if a date is within seven days from the current date.
  • Then, set the email content in our code.
  • After that, use “.Display ” to show our email . Therefore, we’ll need to press Send manually to send the emails . Moreover, we can use “.Send ” to send email without displaying.

Cách gửi email nếu có điều kiện trong Excel (3 phương pháp dễ dàng)

  • Secondly, Save and close the Module .
  • Thirdly, as shown in method 2 , bring up the Macro cửa sổ.
  • Then, select “Send_Email_Date_Condition ” and press Run .

Cách gửi email nếu có điều kiện trong Excel (3 phương pháp dễ dàng)

  • Firstly, select the date column và nhấn OK .

Cách gửi email nếu có điều kiện trong Excel (3 phương pháp dễ dàng)

  • Secondly. select the email column và nhấn OK .

Cách gửi email nếu có điều kiện trong Excel (3 phương pháp dễ dàng)

  • Thirdly, select the email content column và nhấn OK .

Cách gửi email nếu có điều kiện trong Excel (3 phương pháp dễ dàng)

  • Then we’ll see the email dialog box. We can press Send to achieve our goal.

Cách gửi email nếu có điều kiện trong Excel (3 phương pháp dễ dàng)

Đọc thêm: How to Automatically Send Email from Excel Based on Date

Những điều cần nhớ

  • In all our methods, Outlook was our default email Application . You may need to use different codes for separate Applications .

Phần thực hành

We’ve added practice datasets for each method in the Excel file.

Cách gửi email nếu có điều kiện trong Excel (3 phương pháp dễ dàng)

Kết luận

We’ve shown you 3 methods to send an email if conditions  met trong Excel . Thanks for reading, keep excelling!

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

  • Cách Gửi Email từ Excel với Nội dung Sử dụng Macro (với các Bước Dễ dàng)
  • How to Send Automatic Email from Excel to Outlook (4 Methods)
  • Tự động gửi Email từ Excel Dựa trên Nội dung Ô (2 Phương pháp)
  • Cách Tự động Gửi Tệp Excel tới Email (3 Phương pháp Thích hợp)
  • Gửi Email Nhắc nhở Tự động từ Trang tính Excel Sử dụng VBA
  • How to See Who Is in a Shared Excel File (With Quick Steps)