अक्सर, हमें ईमेल भेजने . की आवश्यकता होती है हमारे ग्राहकों के लिए जब एक शर्त पूरा किया जाता है। यह लेख आपको 3 . दिखाएगा भेजने . के तरीके एक ईमेल अगर शर्तें मिले हैं एक्सेल . में . हमारे तरीकों को प्रदर्शित करने के लिए, हमने 3 कॉलम . के साथ एक डेटासेट चुना है :“नाम ”, “ईमेल ”, और “भुगतान देय .
एक्सेल में शर्तें पूरी होने पर ईमेल भेजने के 3 तरीके
<एच3>1. ईमेल भेजने के लिए VBA का उपयोग करना यदि एक्सेल में सेल वैल्यू में परिवर्तन होता हैपहली विधि के लिए, हम एक Excel लागू करेंगे वीबीए भेजने . के लिए कोड एक ईमेल जब एक स्थिति मिला . है . सबसे पहले, हम VBA मॉड्यूल लाएंगे विंडो, और फिर हम अपना कोड टाइप करेंगे और इसे ईमेल भेजने . के लिए निष्पादित करेंगे . इसके अलावा, इस मामले में, हमारे कोड निष्पादन मानदंड तब होंगे जब कोई सेल मान बदलता है।
चरण:
- सबसे पहले, राइट-क्लिक करें "सेल मूल्य परिवर्तन . पर "पत्रक।
- दूसरा, कोड देखें select चुनें ।
- तीसरा, यह कोड टाइप करें।
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 कोड ब्रेकडाउन
यहां, हम एक निजी उप का उपयोग करेंगे . क्योंकि हम मैक्रो . के माध्यम से इस कोड को निष्पादित नहीं करेंगे खिड़की। सेल . होने पर यह कोड अपने आप चलेगा मूल्य परिवर्तन।
- सबसे पहले, हम निजी उप . का उपयोग कर रहे हैं जहां इवेंट है वर्कशीट_चेंज ।
- दूसरा, हम कोशिकाओं . की संख्या सीमित कर रहे हैं करने के लिए 1 और वह सेल D5 . है ।
- तीसरा, हम जांच कर रहे हैं कि क्या यह 700 . से अधिक है ।
- आखिरकार, अगर हालत पूरा किया जाता है तो उप प्रक्रिया Send_Email_Condition_Cell_Value_Change निष्पादित करेगा।
- आखिरकार, सहेजें और इस विंडो को बंद कर दें।
अब, हम मॉड्यूल . में कोड टाइप करेंगे खिड़की। VBA मॉड्यूल लाने के लिए , इनका पालन करें -
- सबसे पहले, डेवलपर . की ओर से टैब>>> चुनें विजुअल बेसिक ।
वैकल्पिक रूप से, आप ALT + F11 . दबा सकते हैं VBA . प्रदर्शित करने के लिए खिड़की।
- दूसरा, सम्मिलित करें . से>>> चुनें मॉड्यूल ।
इस विंडो में, हम अपना कोड टाइप करेंगे।
- निम्न कोड टाइप करें।
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 ।
- दूसरा, हम चर . घोषित कर रहे हैं प्रकार।
- तीसरा, हम आउटलुक . का चयन कर रहे हैं हमारे मेल एप्लिकेशन . के रूप में ।
- फिर, ईमेल सामग्री हमारे कोड में सेट है।
- उसके बाद, “.प्रदर्शन हमारे ईमेल . को प्रदर्शित करने के लिए यहां ” का उपयोग किया जाता है . इसलिए, हमें भेजें . दबाएं मैन्युअल रूप से भेजने . के लिए ईमेल . इसके अलावा, हम “.भेजें . का उपयोग कर सकते हैं ” ईमेल भेजने . के लिए प्रदर्शित किए बिना।
- उसके बाद, सहेजें और मॉड्यूल . को बंद करें ।
अब, हमारे डेटासेट में, हम 699 . टाइप कर सकते हैं , और कुछ नहीं होगा।
हालांकि, अगर हम 801 . टाइप करते हैं (700 से अधिक ), तो हमारा कोड निष्पादित होगा।
आउटलुक ईमेल भेजने का विकल्प दिखाई देगा। हम भेजें . दबा सकते हैं भेजने के लिए ईमेल पता।
और पढ़ें: एक्सेल सूची से ईमेल कैसे भेजें (2 प्रभावी तरीके)
<एच3>2. यदि एकाधिक शर्तें पूरी होती हैं तो ईमेल भेजने के लिए VBA का उपयोग करेंदूसरी विधि के लिए, हमने अपना डेटासेट बदल दिया है। हम ईमेल भेजेंगे जब अनेक शर्तें मिले हैं इस विधि में। इसके अलावा, हम 2 उप प्रक्रियाओं का उपयोग करेंगे एक ही मॉड्यूल . में इसके लिए। यदि हमारा कोड इरादा के अनुसार काम करता है, तो हम ईमेल भेजेंगे करने के लिए 2 लोग। इसके अलावा, हम फ़ाइल को अपने ईमेल . में संलग्न करेंगे ।
चरण:
- सबसे पहले, जैसा कि पहली विधि में दिखाया गया है , मॉड्यूल . लाएं विंडो खोलें और यह कोड टाइप करें।
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 ।
- उसके बाद, हम आउटलुक . का चयन कर रहे हैं हमारे मेल एप्लिकेशन . के रूप में ।
- फिर, ईमेल . सेट करें हमारे कोड में सामग्री।
- यहां, हम Excel . संलग्न कर रहे हैं ईमेल . के साथ फाइल करें अनुलग्नक . का उपयोग करके विधि।
- उसके बाद, “.डिस्प्ले हमारे ईमेल . को प्रदर्शित करने के लिए यहां ” का उपयोग किया जाता है . इसलिए, हमें भेजें . दबाएं मैन्युअल रूप से भेजने . के लिए ईमेल . इसके अलावा, हम “.भेजें . का उपयोग कर सकते हैं ” ईमेल भेजने . के लिए प्रदर्शित किए बिना।
- दूसरा, सहेजें और मॉड्यूल . को बंद करें ।
अब, हम लाएंगे मैक्रो हमारे कोड को निष्पादित करने के लिए विंडो।
- सबसे पहले, डेवलपर . की ओर से टैब>>> मैक्रोज़ select चुनें ।
मैक्रो विंडो पॉप अप होगी।
- दूसरा, "Send_Email_Condition . चुनें "।
- आखिरकार, चलाएं दबाएं ।
यह हमारे कोड को निष्पादित करेगा। दो लोग मिले हमारी स्थिति , इसलिए हमें दो ईमेल . दिखाई देंगे यहाँ खिड़की।
और पढ़ें: Excel में शर्त पूरी होने पर स्वचालित रूप से ईमेल कैसे भेजें
समान रीडिंग
- Excel में शेयर वर्कबुक कैसे सक्षम करें
- Excel का उपयोग करके आउटलुक से बल्क ईमेल कैसे भेजें (3 तरीके)
- मैक्रो एक्सेल से बॉडी के साथ ईमेल भेजने के लिए (3 उपयोगी मामले)
- एक्सेल से अटैचमेंट के साथ ईमेल भेजने के लिए मैक्रो कैसे लागू करें
- एक्सेल फ़ाइल को ऑनलाइन कैसे साझा करें (2 आसान तरीके)
आखिरी विधि के लिए, हम ईमेल भेजेंगे यदि समय सीमा वर्तमान तिथि से एक सप्ताह की अवधि के भीतर है। आज 19 मई . है 2022 इस लेख को लिखने के रूप में। इसलिए, केवल एक पंक्ति . है जो सात दिनों में आता है। वह है पंक्ति 5 . हम भेजेंगे एक ईमेल उस व्यक्ति को VBA . का उपयोग करने के लिए कोड।
चरण:
- सबसे पहले, जैसा कि पहली विधि में दिखाया गया है , मॉड्यूल . लाएं विंडो खोलें और यह कोड टाइप करें।
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 ।
- दूसरा, हम चर . घोषित कर रहे हैं प्रकार और सेटिंग “शर्तें ” हमारी शीट . के रूप में ।
- तीसरा, हम इनपुटबॉक्स . का उपयोग कर रहे हैं हमारे मूल्यों की सीमा निर्धारित करने के लिए।
- उसके बाद, हम आउटलुक . का चयन कर रहे हैं हमारे मेल एप्लिकेशन . के रूप में ।
- फिर, हम 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.
- 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 ।
- Firstly, select the date column और ठीक press दबाएं ।
- Secondly. select the email column और ठीक press दबाएं ।
- Thirdly, select the email content column और ठीक press दबाएं ।
- Then we’ll see the email dialog box. We can press Send to achieve our goal.
और पढ़ें: 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 फ़ाइल।
निष्कर्ष
We’ve shown you 3 methods to send an email if conditions met एक्सेल . में . पढ़ने के लिए धन्यवाद, उत्कृष्ट बने रहें!
संबंधित लेख
- How to Send Email from Excel with Body Using a Macro (with Easy Steps)
- How to Send Automatic Email from Excel to Outlook (4 Methods)
- Automatically Send Emails from Excel Based on Cell Content (2 Methods)
- How to Send Excel File to Email Automatically (3 Suitable Methods)
- Send Reminder Email Automatically from an Excel Worksheet Using VBA
- How to See Who Is in a Shared Excel File (With Quick Steps)