Computer >> 컴퓨터 >  >> 소프트웨어 >> Office

Excel에서 조건이 충족될 때 자동으로 이메일을 보내는 방법

자동으로 이메일 보내기 하나의 크기에 맞는 메시지를 디자인하고 사용자에게 전달할 수 있습니다. 자동 이메일을 생성하고 전송함으로써 시간을 절약할 수 있습니다. 특정 시간에 이메일을 보낼 수 있기 때문에 이메일 자동화는 잠재 소비자와 소통하는 훌륭한 방법입니다. 적시에 적절한 사람에게 이메일 알림을 보내는 기능은 이메일 자동화의 가장 중요한 기능입니다. 이 기사에서는 다양한 VBA 매크로를 보여줍니다. 조건이 충족되면 자동으로 이메일을 보내는 엑셀의.

워크북을 다운로드하여 연습할 수 있습니다.

Excel에서 조건이 충족되면 자동으로 이메일을 보내는 3가지 방법

조건이 충족될 때마다 고객에게 이메일을 보내야 하는 경우가 많습니다. VBA 매크로 사용 , 메일링 기능을 사용자 정의할 수 있습니다. 결과적으로 VBA를 사용하여 동시에 여러 사람에게 이메일을 보낼 수 있습니다. 기술. 매크로가 포함된 이메일을 자동으로 보내려면 Outlook이 있어야 합니다. 우리 컴퓨터에 사전 설치되어 있습니다. 따라서 우리가 넣을 코드는 Outlook을 사용하여 수신자에게 이메일을 보냅니다. .

1. 셀 값에 따라 자동으로 이메일을 보내는 Excel VBA 매크로

Excel VBA 매크로를 사용하겠습니다. 데이터 세트의 특정 열 값을 기반으로 이메일을 자동으로 전송합니다. 아래 데이터세트를 사용하여 이 예를 보여줍니다. D5 셀의 셀 값이 10보다 큽니다. , 이메일을 자동으로 보내는 기능을 개발할 예정입니다.

슈퍼 매장의 일부 고객 세부 정보에 대한 다음 데이터 세트가 있다고 가정합니다. 데이터세트에는 B 열에 일부 고객의 이름이 포함되어 있습니다. , C 열의 이메일 주소 , 및 D 열의 제품 구매에 대한 일부 회비 . 이제 고객에게 청구서 지불을 요청하기 위해 이메일을 보내려고 하지만 여기에는 다음과 같은 조건이 있습니다. 고객의 청구서가 10보다 큰 경우 그래야만 이메일을 보내드립니다. 그럼 조건이 충족되면 셀 값을 기준으로 자동으로 이메일을 보내는 절차를 알아보겠습니다.

Excel에서 조건이 충족될 때 자동으로 이메일을 보내는 방법

단계:

  • 먼저 개발자 로 이동합니다. 리본의 탭입니다.
  • 둘째, 코드 카테고리에서 Visual Basic 을 클릭하십시오. Visual Basic Editor 열기 . 또는 Alt + F11 을 누르십시오. Visual Basic Editor 열기 .

Excel에서 조건이 충족될 때 자동으로 이메일을 보내는 방법

  • 이렇게 하는 대신 워크시트를 마우스 오른쪽 버튼으로 클릭하고 코드 보기로 이동할 수 있습니다. . 또한 Visual Basic Editor로 이동합니다. .

Excel에서 조건이 충족될 때 자동으로 이메일을 보내는 방법

  • 이것은 Visual Basic Editor 에 나타납니다. 범위에서 테이블을 생성하기 위해 코드를 작성하는 곳입니다.
  • 그리고 VBA 를 복사하여 붙여넣습니다. 아래에 표시된 코드.

VBA 코드:

Dim r As Range
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Cells.Count > 1 Then Exit Sub
Set r = Intersect(Range("D5"), Target)
If r Is Nothing Then Exit Sub
If IsNumeric(Target.Value) And Target.Value > 10 Then
Call Send_Mail_Automatically1
End If
End Sub
Sub Send_Mail_Automatically1()
Dim ob1 As Object
Dim ob2 As Object
Dim str As String
Set ob1 = CreateObject("Outlook.Application")
Set ob2 = ob1.CreateItem(0)
str = "Hello!" & vbNewLine & vbNewLine & "To prevent further costs," _
& vbNewLine & "please pay before the deadline."
On Error Resume Next
With ob2
.To = Range("C5").Value
.cc = ""
.BCC = ""
.Subject = "Request to Pay Bill"
.Body = str
.Send
End With
On Error GoTo 0
Set ob2 = Nothing
Set ob1 = Nothing
End Sub
  • 그런 다음 RubSub 버튼 또는 키보드 단축키 F5 누르기 .

Excel에서 조건이 충족될 때 자동으로 이메일을 보내는 방법

  • 그런 다음 매크로 대화 상자가 나타납니다. 오른쪽 매크로 를 클릭하십시오. 그런 다음 실행 을 누르십시오. 버튼.

Excel에서 조건이 충족될 때 자동으로 이메일을 보내는 방법

  • 이제 Outlook으로 이동하면 신청서를 작성하고 받은 편지함을 확인하면 VBA 매크로 를 통해 방금 보낸 메일을 찾아드립니다. Excel에서.

Excel에서 조건이 충족될 때 자동으로 이메일을 보내는 방법

VBA 코드 설명

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Cells.Count > 1 Then Exit Su
Set r = Intersect(Range("D5"), Target)
If r Is Nothing Then Exit Sub
If IsNumeric(Target.Value) And Target.Value > 10 Then
Call Send_Mail_Automatically1
End If
End Sub

우리는 비공개 서브를 사용할 것입니다. 이것을 위해. 매크로 를 사용하지 않기 때문에 이 코드를 실행하는 창입니다. 셀 값이 변경되면 이 코드가 자동으로 실행됩니다. 비공개 구독을 사용합니다. 워크시트 변경으로 이벤트. 그런 다음 셀 수를 D5인 하나로 줄입니다. . 그런 다음 10 이상인지 확인합니다. . 마지막으로 조건이 충족되면 Send_Email_Automatically1 하위 절차 실행됩니다.

Sub Send_Mail_Automatically1()
Dim ob1 As Object
Dim ob2 As Object
Dim str As String
Set ob1 = CreateObject("Outlook.Application")
Set ob2 = ob1.CreateItem(0)
str = "Hello!" & vbNewLine & vbNewLine & "To prevent further costs," & vbNewLine & "please pay before the deadline."
On Error Resume Next
With ob2
.To = Range("C5").Value
.cc = ""
.BCC = ""
.Subject = "Request to Pay Bill"
.Body = str
.Send

여기에서는 Send_Email_Automatically1을 사용합니다. 하위 절차 . 그런 다음 변수 유형을 선언합니다. Outlook 을 사용합니다. 우리의 이메일 클라이언트로. 그런 다음 이메일 내용을 코드에 입력합니다. 문자열 이메일 본문을 표시한 다음 셀 값 C5로 이메일을 보내려고 합니다. , 고객의 이메일이 저장되는 위치에 제목을 '.Subject '. 이어 '.Send '을(를) 사용하여 이메일을 보냅니다.

자세히 알아보기: 셀 내용을 기반으로 Excel에서 자동으로 이메일 보내기(2가지 방법)

2. VBA 코드를 사용하여 마감일에 따라 자동으로 이메일 보내기

이 방법에서는 Excel VBA 매크로를 사용하여 청구서 만기일이 가까워지면 자동으로 이메일을 보냅니다. 이것은 일종의 알림 역할을 합니다. 이를 시연하기 위해 아래 데이터 세트를 사용합니다. 데이터 세트에는 B 열에 일부 고객 이름이 포함되어 있습니다. , C 열의 이메일 주소 , D 열에 보내려는 메시지 , 및 E 열의 만기일 . 그럼 조건이 만족되는 날짜에 따라 자동으로 메일을 보내는 단계를 알아보겠습니다.

Excel에서 조건이 충족될 때 자동으로 이메일을 보내는 방법

단계:

  • 먼저 개발 리본에서 r 탭.
  • 둘째, Visual Basic을 클릭합니다. Visual Basic Editor 열기 .
  • Visual Basic Editor를 여는 또 다른 방법 Alt + F11을 누르기만 하면 됩니다. .
  • 또는 시트를 마우스 오른쪽 버튼으로 클릭한 다음 코드 보기를 선택합니다. .
  • 시각적 기본 창이 열립니다.
  • 그런 다음 VBA 코드를 복사하여 붙여넣습니다. 아래.

VBA 코드:

Public Sub Send_Email_Automatically2()
    Dim rngD, rngS, rngT As Range
    Dim ob1, ob2 As Object
    Dim LRow, x As Long
    Dim l, strbody, rSendValue, mSub As String
    On Error Resume Next
    Set rngD = Application.InputBox("Deadline Range:", "Exceldemy", , , , , , 8)
    If rngD Is Nothing Then Exit Sub
    Set rngS = Application.InputBox("Email Range:", "Exceldemy", , , , , , 8)
    If rngS Is Nothing Then Exit Sub
    Set rngT = Application.InputBox("Email Topic Range:", "Exceldemy", , , , , , 8)
    If rngT Is Nothing Then Exit Sub
    LRow = rngD.Rows.Count
    Set rngD = rngD(1)
    Set rngS = rngS(1)
    Set rngT = rngT(1)
    Set ob1 = CreateObject("Outlook.Application")
    For x = 1 To LRow
        rngDValue = ""
        rngDValue = rngD.Offset(x - 1).Value
        If rngDValue <> "" Then
        If CDate(rngDValue) - Date <= 7 And CDate(rngDValue) - Date > 0 Then
            rngSValue = rngS.Offset(x - 1).Value
            mSub = rngT.Offset(x - 1).Value & " on " & rngDValue
            l = "<br><br>"
            strbody = "<HTML><BODY>"
            strbody = strbody & "Hello! " & rngSValue & l
            strbody = strbody & rngT.Offset(x - 1).Value & l
            strbody = strbody & "</BODY></HTML>"
            Set ob2 = ob1.CreateItem(0)
            With ob2
                .Subject = mSub
                .To = rSendValue
                .HTMLBody = strbody
                .Send
            End With
            Set ob2 = Nothing
        End If
    End If
    Next
    Set ob1 = Nothing
End Sub
  • 또한 F5 키를 누릅니다. 또는 Sub 실행을 클릭합니다. 버튼을 눌러 코드를 실행하세요.

Excel에서 조건이 충족될 때 자동으로 이메일을 보내는 방법

  • 이제 마감일 열 범위를 선택하고 확인을 클릭합니다. .

Excel에서 조건이 충족될 때 자동으로 이메일을 보내는 방법

  • 마찬가지로 이메일 열 범위를 선택하고 확인을 누릅니다. 계속합니다.

Excel에서 조건이 충족될 때 자동으로 이메일을 보내는 방법

  • 그런 다음 메시지 열 범위를 선택하고 확인을 클릭합니다. .

Excel에서 조건이 충족될 때 자동으로 이메일을 보내는 방법

  • 그리고, 그게 다야. 이제 메시지가 이메일 주소로 전송됩니다. Outlook을 확인할 수 있습니다. 확인하기 위해 받은편지함.

VBA 코드 설명

Public Sub Send_Email_Automatically2()
    Dim rngD, rngS, rngT As Range
    Dim ob1, ob2 As Object
    Dim LRow, x As Long
    Dim l, strbody, rSendValue, mSub As String
    On Error Resume Next
    Set rngD = Application.InputBox("Deadline Range:", "Exceldemy", , , , , , 8)
    If rngD Is Nothing Then Exit Sub
    Set rngS = Application.InputBox("Email Range:", "Exceldemy", , , , , , 8)
    If rngS Is Nothing Then Exit Sub
    Set rngT = Application.InputBox("Email Topic Range:", "Exceldemy", , , , , , 8)
    If rngT Is Nothing Then Exit Sub
    LRow = rngD.Rows.Count
    Set rngD = rngD(1)
    Set rngS = rngS(1)
    Set rngT = rngT(1)
    Set ob1 = CreateObject("Outlook.Application")

여기서 다시 비공개 구독을 사용합니다. , Send_Email_Automatically2 Sub의 이름입니다. . 절차 . 변수 종류를 선언합니다. 그런 다음 InputBox 를 사용합니다. 값 범위를 제공합니다. 그런 다음 Outlook 을 선택합니다. 우리의 메일 클라이언트로.

 For x = 1 To LRow
        rngDValue = ""
        rngDValue = rngD.Offset(x - 1).Value
        If rngDValue <> "" Then
        If CDate(rngDValue) - Date <= 7 And CDate(rngDValue) - Date > 0 Then
            rngSValue = rngS.Offset(x - 1).Value
            mSub = rngT.Offset(x - 1).Value & " on " & rngDValue
            l = "<br><br>"
            strbody = "<HTML><BODY>"
            strbody = strbody & "Hello! " & rngSValue & l
            strbody = strbody & rngT.Offset(x - 1).Value & l
            strbody = strbody & "</BODY></HTML>"
            Set ob2 = ob1.CreateItem(0)
            With ob2
                .Subject = mSub
                .To = rSendValue
                .HTMLBody = strbody
                .Send

그런 다음 VBA CDate를 사용합니다. 날짜가 현재 날짜로부터 7일 이내인지 확인하는 함수입니다. 그런 다음 코드에서 이메일 내용을 설정합니다. 마지막으로 '.Send를 사용합니다. '를 눌러 이메일을 보내주세요.

자세히 알아보기: 날짜를 기준으로 Excel에서 자동으로 이메일을 보내는 방법

유사한 수치

  • 공유 Excel 파일에 누가 있는지 확인하는 방법(빠른 단계 사용)
  • Excel에서 통합 문서 공유를 활성화하는 방법
  • VBA를 사용하여 Excel 워크시트에서 자동으로 미리 알림 이메일 보내기
  • Excel을 사용하여 Outlook에서 대량 이메일을 보내는 방법(3가지 방법)
  • 첨부 파일이 있는 Excel에서 이메일을 보내기 위해 매크로를 적용하는 방법

3. 여러 조건이 충족되면 Excel VBA를 사용하여 자동으로 이메일 보내기

이 방법에서는 다시 VBA를 사용합니다. 매크로 이메일을 보내려고 하지만 이 때 여러 조건이 충족되는 경우에만 메시지가 고객에게 전송됩니다. 그럼 자동으로 이메일을 보내는 과정을 살펴보겠습니다.

Excel에서 조건이 충족될 때 자동으로 이메일을 보내는 방법

단계:

  • 시작하려면 개발자를 클릭하세요. 리본의 탭입니다.
  • 둘째, Visual Basic Editor 실행 Visual Basic을 클릭하여 .
  • 또는 Visual Basic Editor에 액세스할 수 있습니다. Alt + F11을 눌러 .
  • 또는 오른쪽 클릭 시트에서 코드 보기를 선택합니다. 메뉴에서.
  • 시각적 기본 창이 나타납니다.
  • 여기에 코드를 작성하세요.

VBA 코드:

Sub Send_Email_Automatically3()
    Dim wrksht As Worksheet
    Dim add As String, mSub As String, N As String
    Dim eRow As Long, x As Long
    Set wrksht = ThisWorkbook.Sheets("Multiple Conditions")
    With wrksht
        eRow = .Cells(.Rows.Count, 5).End(xlUp).Row
        For x = 5 To eRow
            If .Cells(x, 4) >= 1 And .Cells(x, 5) = "Yes" Then
                add = .Cells(x, 3)
                mSub = "Request to Pay Bill"
                N = .Cells(x, 2)
                Call Multiple_Conditions(add, mSub, N)
            End If
        Next x
    End With
End Sub
Sub Multiple_Conditions(mAddress As String, mSubject As String, eName As String)
    Dim ob1 As Object
    Dim ob2 As Object
    Set ob1 = CreateObject("Outlook.Application")
    Set ob2 = ob1.CreateItem(0)
    With ob2
        .To = add
        .CC = ""
        .BCC = ""
        .Subject = mSub
        .Body = "Hello!" & N & ", To prevent further costs, please pay before the deadline."
        .Attachments.add ActiveWorkbook.FullName
        .Send
    End With
    Set pMail = Nothing
    Set pApp = Nothing
End Sub
  • 마지막으로 F5 키 를 누릅니다. 코드를 실행합니다.

Excel에서 조건이 충족될 때 자동으로 이메일을 보내는 방법

  • 매크로 그 후에 대화 상자가 나타납니다. 그런 다음 적절한 매크로 를 선택하십시오. 실행을 누릅니다. 버튼.

Excel에서 조건이 충족될 때 자동으로 이메일을 보내는 방법

  • 마찬가지로 이전 방법에서 Outlook을 열면 사서함을 보면 VBA 매크로를 통해 방금 보낸 이메일이 표시됩니다. Excel에서.

VBA 코드 설명

Sub Send_Email_Automatically3()
    Dim wrksht As Worksheet
    Dim add As String, mSub As String, N As String
    Dim eRow As Long, x As Long
    Set wrksht = ThisWorkbook.Sheets("Multiple Conditions")
    With wrksht
        eRow = .Cells(.Rows.Count, 5).End(xlUp).Row
        For x = 5 To eRow
            If .Cells(x, 4) >= 1 And .Cells(x, 5) = "Yes" Then
                add = .Cells(x, 3)
                mSub = "Request to Pay Bill"
                N = .Cells(x, 2)
                Call Multiple_Conditions(add, mSub, N)

여기서는 두 가지 다른 절차를 사용합니다. Send_Email_Automatically3 첫 번째 하위 프로시저의 이름입니다. . 우리는 '여러 조건을 설정했습니다. '를 시트로 만들고 변수 를 선언합니다. 종류. 그런 다음 마지막 행 번호를 찾습니다. 또한 우리의 값은 5 행에서 시작하기 때문에 , 5 행을 이동했습니다. 코드 끝까지.

Sub Multiple_Conditions(mAddress As String, mSubject As String, eName As String)
    Dim ob1 As Object
    Dim ob2 As Object
    Set ob1 = CreateObject("Outlook.Application")
    Set ob2 = ob1.CreateItem(0)
    With ob2
        .To = add
        .CC = ""
        .BCC = ""
        .Subject = mSub
        .Body = "Hello!" & N & ", To prevent further costs, please pay before the deadline."
        .Attachments.add ActiveWorkbook.FullName
        .Send

그런 다음 Multiple_Conditions를 호출합니다. , 두 번째 하위 절차 . Outlook 을 선택합니다. 우리의 메일 클라이언트로. 그런 다음 코드에서 이메일 내용을 설정합니다. 첨부파일 사용 기술, 우리는 이메일에 Excel 파일을 추가하고 있습니다. 그런 다음 이메일을 사용하여 '.Send '.

자세히 알아보기: Excel에서 조건이 충족되면 이메일을 보내는 방법(3가지 쉬운 방법)

결론

위의 방법은 Excel에서 조건이 충족되면 자동으로 이메일 보내기에 도움이 됩니다. . 이것이 도움이 되기를 바랍니다! 질문, 제안 또는 피드백이 있으면 의견 섹션에 알려주십시오. 또는 ExcelDemy.com에서 다른 기사를 볼 수 있습니다. 블로그!

관련 기사

  • Excel에서 Outlook으로 자동 이메일을 보내는 방법(4가지 방법)
  • 매크로를 사용하여 본문과 함께 Excel에서 이메일을 보내는 방법(간단한 단계 포함)
  • Excel 매크로:셀의 주소로 이메일 보내기(2가지 쉬운 방법)
  • Excel 스프레드시트에서 여러 이메일을 보내는 방법(2가지 쉬운 방법)
  • 본문과 함께 Excel에서 이메일을 보내는 매크로(3가지 유용한 사례)
  • 수정 가능한 Excel 스프레드시트를 이메일로 보내는 방법(3가지 빠른 방법)