종종 이메일을 보내야 조건이 충족됩니다. 이 도움말에서는 3을(를) 보여줍니다. 보내는 방법 이메일 if 조건 충족 엑셀에서 . 방법을 보여주기 위해 3개의 열이 있는 데이터세트를 선택했습니다. :“이름 ", "이메일 " 및 "결제 기한 ".
Excel에서 조건이 충족되면 이메일을 보내는 3가지 방법
1. Excel에서 셀 값이 변경된 경우 VBA를 사용하여 이메일 보내기
첫 번째 방법으로 Excel VBA 전송할 코드 이메일 조건 일 때 충족 . 먼저 VBA 모듈 창에서 코드를 입력하고 실행하여 이메일 전송 . 또한 이 경우 코드 실행 기준은 셀 값이 변경될 때입니다.
단계:
- 먼저, 오른쪽 클릭 "셀 값 변경 ” 시트.
- 둘째, 코드 보기를 선택합니다. .
- 셋째, 이 코드를 입력하세요.
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 코드 분석
여기서 비공개 서브를 사용하겠습니다. . 매크로를 통해 이 코드를 실행하지 않기 때문에 창문. 이 코드는 셀 이 있을 때 자체적으로 실행됩니다. 가치 변경.
- 첫째, 우리는 비공개 구독 을 사용하고 있습니다. 여기서 이벤트는 Worksheet_Change입니다. .
- 둘째, 셀 의 수를 제한하고 있습니다. 1까지 그리고 그 셀 D5입니다. .
- 셋째, 700 이상인지 확인합니다. .
- 마지막으로, 조건 하위 절차가 충족되면 Send_Email_Condition_Cell_Value_Change 실행됩니다.
- 마지막으로, 저장 이 창을 닫습니다.
이제 모듈 에 코드를 입력하겠습니다. 창문. VBA 모듈을 불러오려면 , 다음을 따르십시오 –
- 첫째, 개발자 탭>>> Visual Basic 선택 .
또는 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 .
- 둘째, 변수 유형.
- 셋째, Outlook 메일 애플리케이션으로 .
- 그런 다음 이메일 콘텐츠는 코드에 설정되어 있습니다.
- 그 후 ".디스플레이 ”는 여기에서 이메일을 표시하는 데 사용됩니다. . 따라서 보내기 를 눌러야 합니다. 수동으로 보내기 이메일 . 또한 ".Send "를 사용하여 이메일 보내기 표시하지 않고.
- 그 후 저장 모듈을 닫습니다. .
이제 데이터세트에서 699를 입력할 수 있습니다. , 아무 일도 일어나지 않을 것입니다.
그러나 801 을 입력하면 (700 이상 ) 그러면 코드가 실행됩니다.
Outlook 이메일 전송 옵션이 표시됩니다. 보내기 를 누를 수 있습니다. 보내다 이메일 주소.
자세히 알아보기: Excel 목록에서 이메일을 보내는 방법(2가지 효과적인 방법)
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 .
- 그 다음에는 Outlook 을 선택합니다. 메일 애플리케이션으로 .
- 그런 다음 이메일 을 코드의 콘텐츠입니다.
- 여기에 Excel 을 첨부합니다. 이메일 로 파일 첨부파일 사용 방법.
- 그 후 ".Display ”는 여기에서 이메일을 표시하는 데 사용됩니다. . 따라서 보내기 를 눌러야 합니다. 수동으로 보내기 이메일 . 또한 ".Send "를 사용하여 이메일 보내기 표시하지 않고.
- 둘째, 저장 모듈을 닫습니다. .
이제 매크로 코드를 실행하는 창입니다.
- 첫째, 개발자 탭>>> 매크로 선택 .
매크로 창이 나타납니다.
- 둘째, “Send_Email_Condition을 선택합니다. ".
- 마지막으로 실행을 누릅니다. .
이것은 우리의 코드를 실행할 것입니다. 두 사람이 만남 우리의 상태 , 따라서 두 개의 이메일 이 표시됩니다. 창을 여세요.
자세히 알아보기: Excel에서 조건이 충족되면 자동으로 이메일을 보내는 방법
유사한 수치
- Excel에서 통합 문서 공유를 활성화하는 방법
- Excel을 사용하여 Outlook에서 대량 이메일을 보내는 방법(3가지 방법)
- 본문과 함께 Excel에서 이메일을 보내는 매크로(3가지 유용한 사례)
- 첨부 파일이 있는 Excel에서 이메일을 보내기 위해 매크로를 적용하는 방법
- Excel 파일을 온라인으로 공유하는 방법(간단한 2가지 방법)
3. 날짜 조건에 따라 Excel에서 이메일 보내기
마지막 방법으로 이메일을 보내드립니다 마감일이 현재 날짜로부터 1주일 이내인 경우. 오늘은 5월 19일입니다. 2022년 이 기사를 쓰는 현재. 따라서 행 은 하나만 있습니다. 7일 이내에 해당됩니다. 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 .
- 둘째, 변수 유형 및 설정 "조건 ”를 시트로 .
- 셋째, InputBox 를 사용하고 있습니다. 가치의 범위를 설정합니다.
- 그 다음에는 Outlook 을 선택합니다. 메일 애플리케이션으로 .
- 그런 다음 VBA CDate를 사용하고 있습니다. 날짜가 현재 날짜로부터 7일 이내인지 확인하는 함수입니다.
- 그런 다음 이메일 을 코드의 콘텐츠입니다.
- 그 후 ".Display를 사용합니다. ”를 사용하여 이메일을 표시합니다. . 따라서 보내기 를 눌러야 합니다. 수동으로 보내기 이메일 . 또한 ".Send "를 사용하여 이메일 보내기 표시하지 않고.
- 둘째, 저장 모듈을 닫습니다. .
- 셋째, 방법 2와 같이 , 매크로 불러오기 창.
- 그런 다음 'Send_Email_Date_Condition "를 누르고 실행을 누릅니다. .
- 먼저 날짜 열 을 선택합니다. 확인을 누릅니다. .
- 둘째. 이메일 열 선택 확인을 누릅니다. .
- 셋째, 이메일 을 선택합니다. 콘텐츠 열 확인을 누릅니다. .
- 그러면 이메일 이 표시됩니다. 대화 상자. 보내기 를 누를 수 있습니다. 목표를 달성하기 위해.
자세히 알아보기: 날짜를 기준으로 Excel에서 자동으로 이메일을 보내는 방법
기억해야 할 사항
- 모든 방법에서 Outlook 기본 이메일 애플리케이션이었습니다. . 별도의 애플리케이션에 다른 코드를 사용해야 할 수도 있습니다. .
연습 섹션
Excel 에 각 방법에 대한 실습 데이터 세트를 추가했습니다. 파일.
결론
3 개를 보여 드렸습니다. 보내는 방법 이메일 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)