Skip to main content

만기 날짜가 Excel에서 만났을 경우 이메일을 보내는 방법은 무엇입니까?

Author: Siluvia Last Modified: 2025-08-06

아래 스크린샷에 표시된 것처럼 C열의 만기 날짜가 7일 이하인 경우(예: 현재 날짜가 2017/9/13), A열에 있는 지정된 수신자에게 이메일이 전송되고, B열에 있는 지정된 내용이 이메일 본문에 표시됩니다. 이를 수행하기 위해 어떻게 해야 할까요? 이 문서에서는 VBA 코드를 제공하여 이 작업을 도와드립니다.

sample data

VBA 코드로 만기 날짜가 만났을 때 이메일 보내기


VBA 코드로 만기 날짜가 만났을 때 이메일 보내기

Excel에서 만기 날짜가 만났을 경우 이메일 알림을 보내려면 다음과 같이 하세요.

1. Alt + F11 키를 동시에 눌러 Microsoft Visual Basic for Applications 창을 엽니다.

2. Microsoft Visual Basic for Applications 창에서 삽입 > 모듈을 클릭하세요. 그런 다음 아래 VBA 코드를 복사하여 모듈 창에 붙여넣으세요.

VBA 코드: 만기 날짜가 가까워지면 이메일 보내기

Public Sub CheckAndSendMail()
'Updated by Extendoffice 2018/11/22
    Dim xRgDate As Range
    Dim xRgSend As Range
    Dim xRgText As Range
    Dim xRgDone As Range
    Dim xOutApp As Object
    Dim xMailItem As Object
    Dim xLastRow As Long
    Dim vbCrLf As String
    Dim xMailBody As String
    Dim xRgDateVal As String
    Dim xRgSendVal As String
    Dim xMailSubject As String
    Dim i As Long
    On Error Resume Next
    Set xRgDate = Application.InputBox("Please select the due date column:", "KuTools For Excel", , , , , , 8)
    If xRgDate Is Nothing Then Exit Sub
    Set xRgSend = Application.InputBox("Please select the recipients?email column:", "KuTools For Excel", , , , , , 8)
    If xRgSend Is Nothing Then Exit Sub
    Set xRgText = Application.InputBox("Select the column with reminded content in your email:", "KuTools For Excel", , , , , , 8)
    If xRgText Is Nothing Then Exit Sub
    xLastRow = xRgDate.Rows.count
    Set xRgDate = xRgDate(1)
    Set xRgSend = xRgSend(1)
    Set xRgText = xRgText(1)
    Set xOutApp = CreateObject("Outlook.Application")
    For i = 1 To xLastRow
        xRgDateVal = ""
        xRgDateVal = xRgDate.Offset(i - 1).Value
        If xRgDateVal <> "" Then
        If CDate(xRgDateVal) - Date <= 7 And CDate(xRgDateVal) - Date > 0 Then
            xRgSendVal = xRgSend.Offset(i - 1).Value
            xMailSubject = xRgText.Offset(i - 1).Value & " on " & xRgDateVal
            vbCrLf = "<br><br>"
            xMailBody = "<HTML><BODY>"
            xMailBody = xMailBody & "Dear " & xRgSendVal & vbCrLf
            xMailBody = xMailBody & "Text : " & xRgText.Offset(i - 1).Value & vbCrLf
            xMailBody = xMailBody & "</BODY></HTML>"
            Set xMailItem = xOutApp.CreateItem(0)
            With xMailItem
                .Subject = xMailSubject
                .To = xRgSendVal
                .HTMLBody = xMailBody
                .Display
                '.Send
            End With
            Set xMailItem = Nothing
        End If
    End If
    Next
    Set xOutApp = Nothing
End Sub

참고: VBA 코드의 줄 If CDate(xRgDateVal) - Date <= 7 And CDate(xRgDateVal) - Date > 0 Then 은 만기 날짜가 1일보다 크고 7일 이하여야 함을 의미합니다. 필요에 따라 변경할 수 있습니다.

3. 코드를 실행하기 위해 F5 키를 누릅니다. 처음으로 나타나는 Kutools for Excel 대화 상자에서 만기 날짜 열 범위를 선택한 후 확인 버튼을 클릭하세요. 스크린샷 보기:

vba code to select the due date column

4. 그런 다음 두 번째 Kutools for Excel 대화 상자가 나타납니다. 수신자의 이메일 주소가 포함된 해당 열 범위를 선택하고 확인 버튼을 클릭하세요. 스크린샷 보기:

 vba code to select the recipients’ email addresses

5. 마지막 Kutools for Excel 대화 상자에서 이메일 본문에 표시할 내용을 선택한 후 확인 버튼을 클릭하세요.

vba code to select the content you want to display in the email body

그러면 C열의 만기 날짜가 7일 이하인 경우 지정된 수신자, 제목 및 본문이 자동으로 포함된 이메일이 생성됩니다. 이메일을 보내려면 보내기 버튼을 클릭하세요.

an email is created  with the specified recipient, subject and body listed out if the due date

참고:

1. 각 생성된 이메일은 하나의 만기 날짜에 해당합니다. 예를 들어, 세 개의 만기 날짜가 조건을 충족하면 세 개의 이메일이 자동으로 생성됩니다.

2. 조건을 충족하는 날짜가 없으면 이 코드는 실행되지 않습니다.

3. VBA 코드는 Outlook을 이메일 프로그램으로 사용할 때만 작동합니다.

a screenshot of kutools for excel ai

Kutools AI로 엑셀의 마법을 풀다

  • 스마트 실행: 셀 작업 수행, 데이터 분석 및 차트 생성 - 간단한 명령어로 모든 것을 처리합니다.
  • 사용자 정의 수식: 작업을 간소화하기 위한 맞춤형 수식을 생성합니다.
  • VBA 코딩: 손쉽게 VBA 코드를 작성하고 실행합니다.
  • 수식 해석: 복잡한 수식도 쉽게 이해할 수 있습니다.
  • 텍스트 번역: 스프레드시트 내 언어 장벽을 허물어 보세요.
AI 기반 도구로 엑셀 활용 능력을 강화하세요. 지금 다운로드하여 그 어느 때보다 높은 효율성을 경험해 보세요!

관련 기사:

최고의 오피스 생산성 도구

🤖 Kutools AI Aide: 지능형 실행을 기반으로 데이터 분석 혁신 지능형 실행   |  코드 생성  |  사용자 정의 수식 생성  |  데이터 분석 및 차트 생성  |  Kutools Functions 호출
인기 기능: 중복 찾기, 강조 또는 중복 표시  |  빈 행 삭제  |  데이터 손실 없이 열 또는 셀 병합  |  반올림...
슈퍼 LOOKUP: 다중 조건 VLookup    다중 값 VLookup  |   다중 시트 조회   |   퍼지 매치 ....
고급 드롭다운 목록: 드롭다운 목록 신속 생성  |  의존형 드롭다운 목록  |  다중 선택 드롭다운 목록....
열 매니저: 지정 개수 열 추가  |  열 이동  |  숨겨진 열 표시 상태 전환 |  범위 및 열 비교 ...
주요 기능: 그리드 포커스  |  디자인 보기  |  향상된 수식 표시줄   통합 문서 & 시트 관리   |  자동 텍스트 라이브러리   |  날짜 선택기   |  데이터 병합   |  셀 암호화/해독   목록별 이메일 보내기  |  슈퍼 필터  |  특수 필터 (굵게/이탤릭/취소선 필터...)...
Top15 도구 세트12개 텍스트 도구(텍스트 추가, 특정 문자 삭제, ...)  |  50+ 차트 유형(간트 차트, ...)  |  40+ 실용 수식(생일을 기반으로 나이 계산, ...)  |  19개 삽입 도구(QR 코드 삽입, 경로에서 그림 삽입, ...)  |  12개 변환 도구(단어로 변환하기, 통화 변환, ...)  |  7개 병합 & 분할 도구(고급 행 병합, 셀 분할, ...)  |  ... 그리고 그 외
Kutools를 원하는 언어로 사용하세요 – 영어, 스페인어, 독일어, 프랑스어, 중국어 등40가지 이상의 언어를 지원합니다!

Kutools for Excel로 Excel 실력을 한 단계 업그레이드하고, 그 어떤 때보다 뛰어난 효율성을 경험하세요. Kutools for Excel은300개 이상의 고급 기능을 제공하여 생산성을 높이고 저장 시간을 줄여줍니다. 가장 필요한 기능을 지금 바로 확인하세요...


Office Tab이 오피스에 탭 인터페이스를 제공하여 작업을 훨씬 쉽게 만듭니다

  • Word, Excel, PowerPoint에서 탭 기반 편집과 읽기를 활성화합니다.
  • 여러 문서를 새 창이 아닌 동일한 창의 새 탭에서 열고 생성하세요.
  • 생산성이50% 향상되며, 매일 수백 번의 마우스 클릭을 줄일 수 있습니다!