Computer >> คอมพิวเตอร์ >  >> ซอฟต์แวร์ >> Office

วิธีการส่งอีเมลหากตรงตามเงื่อนไขใน Excel (วิธีง่ายๆ 3 วิธี)

บ่อยครั้ง เราต้อง ส่งอีเมล ให้กับลูกค้าของเราเมื่อมี เงื่อนไข ถูกเติมเต็ม บทความนี้จะแสดงให้คุณเห็น 3 วิธีการ ส่ง อีเมล ถ้า เงื่อนไข ได้ พบ ใน Excel . เพื่อสาธิตวิธีการของเรา เราได้เลือกชุดข้อมูลที่มี 3 คอลัมน์ :“ชื่อ ","อีเมล ” และ “การชำระเงิน ครบกำหนด ”.

วิธีการส่งอีเมลหากตรงตามเงื่อนไขใน Excel (วิธีง่ายๆ 3 วิธี)

3 วิธีในการส่งอีเมลหากตรงตามเงื่อนไขใน Excel

1. การใช้ VBA เพื่อส่งอีเมลหากค่าของเซลล์เปลี่ยนแปลงใน Excel

สำหรับวิธีแรก เราจะใช้ Excel VBA รหัสเพื่อ ส่ง อีเมล เมื่อ เงื่อนไข ตรงตาม . อันดับแรก เราจะนำ โมดูล VBA . ขึ้นมา หน้าต่าง จากนั้นเราจะพิมพ์รหัสของเราและดำเนินการเพื่อส่งอีเมล . นอกจากนี้ ในกรณีนี้ เกณฑ์การเรียกใช้โค้ดของเราจะเป็นเมื่อค่าของเซลล์เปลี่ยนแปลง

ขั้นตอน:

  • ประการแรก คลิกขวา ในส่วน “การเปลี่ยนแปลงมูลค่าเซลล์ ” แผ่นงาน
  • ประการที่สอง เลือก ดูโค้ด .

วิธีการส่งอีเมลหากตรงตามเงื่อนไขใน Excel (วิธีง่ายๆ 3 วิธี)

  • ประการที่สาม พิมพ์รหัสนี้
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

รายละเอียดโค้ด VBA

ในที่นี้ เราจะใช้ Private Sub . เนื่องจากเราจะไม่รันโค้ดนี้ผ่าน มาโคร หน้าต่าง. รหัสนี้จะรันเองเมื่อมี เซลล์ ค่าการเปลี่ยนแปลง

  • ประการแรก เราใช้ Private Sub โดยที่เหตุการณ์คือ Worksheet_Change .
  • ประการที่สอง เรากำลังจำกัดจำนวน เซลล์ ถึง 1 และ เซลล์ . นั้น คือ D5 .
  • ประการที่สาม เรากำลังตรวจสอบว่าเกิน 700 . หรือไม่ .
  • สุดท้าย ถ้า เงื่อนไข เป็นไปตาม ขั้นตอนย่อย Send_Email_Condition_Cell_Value_Change จะดำเนินการ

วิธีการส่งอีเมลหากตรงตามเงื่อนไขใน Excel (วิธีง่ายๆ 3 วิธี)

  • สุดท้าย บันทึก และปิดหน้าต่างนี้

ตอนนี้ เราจะพิมพ์รหัสลงใน โมดูล หน้าต่าง. เพื่อเรียก โมดูล VBA ทำตามนี้ –

  • ประการแรก จาก นักพัฒนา แท็บ>>> เลือก Visual Basic .

หรือคุณสามารถกด ALT + F11 เพื่อแสดง VBA หน้าต่าง

วิธีการส่งอีเมลหากตรงตามเงื่อนไขใน Excel (วิธีง่ายๆ 3 วิธี)

  • ประการที่สอง จาก แทรก >>> เลือก โมดูล .

วิธีการส่งอีเมลหากตรงตามเงื่อนไขใน Excel (วิธีง่ายๆ 3 วิธี)

ในหน้าต่างนี้ เราจะพิมพ์รหัสของเรา

  • พิมพ์รหัสต่อไปนี้
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

รายละเอียดโค้ด VBA

  • ประการแรก เรากำลังเรียกขั้นตอนย่อย Send_Email_Condition_Cell_Value_Change .
  • ประการที่สอง เรากำลังประกาศ ตัวแปร ประเภท
  • ประการที่สาม เรากำลังเลือก Outlook เป็น แอปพลิเคชันอีเมล . ของเรา .
  • จากนั้น อีเมล เนื้อหาถูกกำหนดไว้ในโค้ดของเรา
  • หลังจากนั้น “.Display ” ใช้ที่นี่เพื่อแสดง อีเมล . ของเรา . จึงต้องกด ส่ง ด้วยตนเองเพื่อ ส่ง อีเมล . นอกจากนี้เรายังสามารถใช้ “.ส่ง ” เพื่อ ส่งอีเมล โดยไม่ต้องแสดง

วิธีการส่งอีเมลหากตรงตามเงื่อนไขใน Excel (วิธีง่ายๆ 3 วิธี)

  • หลังจากนั้น บันทึก และปิด โมดูล .

ตอนนี้ ในชุดข้อมูลของเรา เราสามารถพิมพ์ 699 , และจะไม่มีอะไรเกิดขึ้น

วิธีการส่งอีเมลหากตรงตามเงื่อนไขใน Excel (วิธีง่ายๆ 3 วิธี)

แต่ถ้าเราพิมพ์ 801 (มากกว่า 700 ) จากนั้นโค้ดของเราจะดำเนินการ

วิธีการส่งอีเมลหากตรงตามเงื่อนไขใน Excel (วิธีง่ายๆ 3 วิธี)

อีเมล Outlook จะแสดงตัวเลือกการส่ง เราสามารถกด ส่ง เพื่อ ส่ง อีเมล ที่อยู่

วิธีการส่งอีเมลหากตรงตามเงื่อนไขใน Excel (วิธีง่ายๆ 3 วิธี)

อ่านเพิ่มเติม: วิธีส่งอีเมลจากรายการ Excel (2 วิธีที่มีประสิทธิภาพ)

2. การใช้ VBA เพื่อส่งอีเมลหากตรงตามเงื่อนไขหลายข้อ

สำหรับวิธีที่สอง เราได้เปลี่ยนชุดข้อมูลแล้ว เราจะ ส่งอีเมล เมื่อหลาย เงื่อนไข ได้ พบ ในวิธีนี้ นอกจากนี้ เราจะใช้ 2 ขั้นตอนย่อย ใน โมดูล . เดียว สำหรับสิ่งนี้. หากโค้ดของเราทำงานตามที่ตั้งใจไว้ เราจะ ส่งอีเมล ถึง 2 ผู้คน. นอกจากนี้ เราจะแนบไฟล์ไปกับอีเมล .

วิธีการส่งอีเมลหากตรงตามเงื่อนไขใน Excel (วิธีง่ายๆ 3 วิธี)

ขั้นตอน:

  • ประการแรก ตามที่แสดงในวิธีแรก , เรียก โมดูล หน้าต่างและพิมพ์รหัสนี้
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

รายละเอียดโค้ด VBA

  • ประการแรก เรากำลังเรียกใช้ขั้นตอนย่อย Send_Email_Condition .
  • ประการที่สอง เรากำลังประกาศ ตัวแปร ประเภทและการตั้งค่า “เงื่อนไข ” เป็น ชีต . ของเรา .
  • ประการที่สาม แถวสุดท้าย พบหมายเลข นอกจากนี้ ค่าของเราเริ่มต้นจาก แถวที่ 5 ดังนั้นเราจึงใส่ แถวที่ 5 ไปยัง แถวสุดท้าย ในรหัสของเรา
  • จากนั้นเรียกขั้นตอนย่อยที่สองของเรา Send_Email_With_Multiple_Condition .
  • หลังจากนั้น เรากำลังเลือก Outlook เป็น แอปพลิเคชันอีเมล . ของเรา .
  • จากนั้น ตั้งค่า อีเมล เนื้อหาในโค้ดของเรา
  • ที่นี่ เรากำลังแนบ Excel ไฟล์ที่มี อีเมล โดยใช้ สิ่งที่แนบมา วิธีการ
  • หลังจากนั้น “.Display ” ใช้ที่นี่เพื่อแสดง อีเมล . ของเรา . จึงต้องกด ส่ง ด้วยตนเองเพื่อ ส่ง อีเมล . นอกจากนี้เรายังสามารถใช้ “.ส่ง ” เพื่อ ส่งอีเมล โดยไม่ต้องแสดง

วิธีการส่งอีเมลหากตรงตามเงื่อนไขใน Excel (วิธีง่ายๆ 3 วิธี)

  • ประการที่สอง บันทึก และปิด โมดูล .

ตอนนี้ เราจะนำ มาโคร หน้าต่างเพื่อรันโค้ดของเรา

  • ประการแรก จาก นักพัฒนา แท็บ>>> เลือก มาโคร .

วิธีการส่งอีเมลหากตรงตามเงื่อนไขใน Excel (วิธีง่ายๆ 3 วิธี)

มาโคร หน้าต่างจะปรากฏขึ้น

  • ประการที่สอง เลือก “Send_Email_Condition ”.
  • สุดท้าย กด เรียกใช้ .

วิธีการส่งอีเมลหากตรงตามเงื่อนไขใน Excel (วิธีง่ายๆ 3 วิธี)

สิ่งนี้จะรันโค้ดของเรา สองคน เจอ เงื่อนไขของเรา ดังนั้น เราจะเห็น อีเมล สองฉบับ หน้าต่างที่นี่

วิธีการส่งอีเมลหากตรงตามเงื่อนไขใน Excel (วิธีง่ายๆ 3 วิธี)

อ่านเพิ่มเติม: วิธีการส่งอีเมลโดยอัตโนมัติเมื่อตรงตามเงื่อนไขใน Excel

การอ่านที่คล้ายกัน

  • วิธีเปิดใช้งานการแชร์เวิร์กบุ๊กใน Excel
  • วิธีการส่งอีเมลจำนวนมากจาก Outlook โดยใช้ Excel (3 วิธี)
  • มาโครเพื่อส่งอีเมลจาก Excel พร้อมเนื้อหา (3 กรณีที่เป็นประโยชน์)
  • วิธีการใช้มาโครเพื่อส่งอีเมลจาก Excel พร้อมไฟล์แนบ
  • วิธีแชร์ไฟล์ Excel ออนไลน์ (2 วิธีง่ายๆ)

3. ส่งอีเมลใน Excel ตามเงื่อนไขวันที่

สำหรับวิธีสุดท้าย เราจะ ส่งอีเมล หากกำหนดเส้นตายอยู่ภายในระยะเวลาหนึ่งสัปดาห์นับจากวันที่ปัจจุบัน วันนี้ 19 พฤษภาคม 2022 ในขณะที่เขียนบทความนี้ ดังนั้นจึงมี แถว ​​ . เพียงแถวเดียว ที่ตกลงมาภายในเจ็ดวัน นั่นคือ แถวที่ 5 . เราจะ ส่ง อีเมล ถึงบุคคลนั้นโดยใช้ VBA รหัส.

วิธีการส่งอีเมลหากตรงตามเงื่อนไขใน Excel (วิธีง่ายๆ 3 วิธี)

ขั้นตอน:

  • ประการแรก ตามที่แสดงในวิธีแรก , เรียก โมดูล หน้าต่างและพิมพ์รหัสนี้
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

รายละเอียดโค้ด VBA

  • ประการแรก เรากำลังเรียกใช้ขั้นตอนย่อย Send_Email_Date_Condition .
  • ประการที่สอง เรากำลังประกาศ ตัวแปร ประเภทและการตั้งค่า “เงื่อนไข ” เป็น ชีต . ของเรา .
  • ประการที่สาม เรากำลังใช้ InputBox เพื่อกำหนดช่วงของค่าของเรา
  • หลังจากนั้น เรากำลังเลือก Outlook เป็น แอปพลิเคชันอีเมล . ของเรา .
  • จากนั้น เรากำลังใช้ VBA Cdate ฟังก์ชันตรวจสอบว่าวันที่อยู่ภายในเจ็ดวันนับจากวันที่ปัจจุบันหรือไม่
  • 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.

วิธีการส่งอีเมลหากตรงตามเงื่อนไขใน Excel (วิธีง่ายๆ 3 วิธี)

  • Secondly, Save and close the Module .
  • Thirdly, as shown in method 2 , bring up the Macro หน้าต่าง
  • Then, select “Send_Email_Date_Condition ” and press Run .

วิธีการส่งอีเมลหากตรงตามเงื่อนไขใน Excel (วิธีง่ายๆ 3 วิธี)

  • Firstly, select the date column แล้วกด ตกลง .

วิธีการส่งอีเมลหากตรงตามเงื่อนไขใน Excel (วิธีง่ายๆ 3 วิธี)

  • Secondly. select the email column แล้วกด ตกลง .

วิธีการส่งอีเมลหากตรงตามเงื่อนไขใน Excel (วิธีง่ายๆ 3 วิธี)

  • Thirdly, select the email content column แล้วกด ตกลง .

วิธีการส่งอีเมลหากตรงตามเงื่อนไขใน Excel (วิธีง่ายๆ 3 วิธี)

  • Then we’ll see the email กล่องโต้ตอบ We can press Send to achieve our goal.

วิธีการส่งอีเมลหากตรงตามเงื่อนไขใน Excel (วิธีง่ายๆ 3 วิธี)

อ่านเพิ่มเติม: How to Automatically Send Email from Excel Based on Date

สิ่งที่ควรจำ

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

ภาคปฏิบัติ

We’ve added practice datasets for each method in the Excel ไฟล์.

วิธีการส่งอีเมลหากตรงตามเงื่อนไขใน Excel (วิธีง่ายๆ 3 วิธี)

บทสรุป

We’ve shown you 3 methods to send an email if conditions  met ใน Excel . ขอบคุณสำหรับการอ่าน ยอดเยี่ยมต่อไป!

บทความที่เกี่ยวข้อง

  • วิธีการส่งอีเมลจาก Excel ด้วยเนื้อความโดยใช้มาโคร (ด้วยขั้นตอนง่ายๆ)
  • How to Send Automatic Email from Excel to Outlook (4 Methods)
  • ส่งอีเมลจาก Excel โดยอัตโนมัติตามเนื้อหาของเซลล์ (2 วิธี)
  • วิธีการส่งไฟล์ Excel ไปยังอีเมลโดยอัตโนมัติ (วิธีที่เหมาะสม 3 วิธี)
  • ส่งอีเมลเตือนความจำโดยอัตโนมัติจากแผ่นงาน Excel โดยใช้ VBA
  • How to See Who Is in a Shared Excel File (With Quick Steps)