메인 컨텐츠로 가기

Excel에서 기한이 충족되면 이메일을 보내는 방법은 무엇입니까?

작가: 실루비아 최종 수정 날짜: 2022-09-23

아래 스크린샷과 같이 C열의 마감일이 7일 이하인 경우(예: 현재 날짜가 2017/9/13) A열의 지정된 수신자에게 이메일이 전송되고 B열의 지정된 내용은 이메일 본문에 표시됩니다. 그것을 달성하기 위해 어떻게 할 수 있습니까? 이 문서에서는 이 작업을 수행하는 데 도움이 되는 VBA 코드를 제공합니다.

기한이 VBA 코드와 일치하면 이메일을 보냅니다.


기한이 VBA 코드와 일치하면 이메일을 보냅니다.

Excel에서 마감일이 지났을 경우 이메일 알림을 보내려면 다음과 같이하십시오.

1. 누르세요 다른 + F11 동시에 열려면 키 응용 프로그램 용 Microsoft Visual Basic 창.

2. 에서 응용 프로그램 용 Microsoft Visual Basic 창을 클릭하십시오 끼워 넣다 > 모듈. 그런 다음 아래 VBA 코드를 복사하여 모듈 창에 붙여 넣으십시오.

VBA 코드 : Excel에서 마감일이 마감 된 경우 전자 메일 보내기

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

노트: 라인 CDate (xRgDateVal)-날짜 <= 7 인 경우 Audiencegain과 CDate (xRgDateVal)-날짜> 0 그런 다음 VBA 코드에서 기한이 1 일 이상 7 일 이하 여야 함을 의미합니다. 필요에 따라 변경할 수 있습니다.

3. 프레스 전에, 코드를 실행하려면 F5 키를 누릅니다. 첫 번째 팝업에서 Excel 용 Kutools 대화 상자에서 기한 열 범위를 선택한 다음 OK 단추. 스크린 샷보기 :

4. 그런 다음 두 번째 Excel 용 Kutools 대화 상자가 나타나면 수신자의 이메일 주소가 포함 된 해당 열 범위를 선택하고 OK 단추. 스크린 샷보기 :

5. 마지막에 Excel 용 Kutools 대화 상자에서 전자 메일 본문에 표시 할 내용을 선택한 다음 OK 버튼을 클릭합니다.

그런 다음 C 열의 기한이 7 일 이하인 경우 지정된 수신자, 제목 및 본문이 나열된 이메일이 자동으로 생성됩니다. 클릭하십시오 전송 버튼을 눌러 이메일을 보냅니다.

노트:

1. 생성 된 각 이메일은 기한에 해당합니다. 예를 들어 기준을 충족하는 기한이 XNUMX 개있는 경우 XNUMX 개의 전자 메일 메시지가 자동으로 생성됩니다.

2. 기준에 맞는 날짜가 없으면이 코드가 실행되지 않습니다.

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


관련 기사 :

최고의 사무 생산성 도구

🤖 Kutools AI 보좌관: 다음을 기반으로 데이터 분석을 혁신합니다. 지능형 실행   |  코드 생성  |  사용자 정의 수식 만들기  |  데이터 분석 및 차트 생성  |  Kutools 기능 호출...
인기 기능: 중복 항목 찾기, 강조 표시 또는 식별   |  빈 행 삭제   |  데이터 손실 없이 열이나 셀 결합   |   수식없이 반올림 ...
슈퍼 조회: 다중 기준 VLookup    다중 값 VLookup  |   여러 시트에 걸친 VLookup   |   퍼지 조회 ....
고급 드롭다운 목록: 드롭다운 목록을 빠르게 생성   |  종속 드롭다운 목록   |  다중 선택 드롭 다운 목록 ....
열 관리자: 특정 개수의 열 추가  |  열 이동  |  Toggle 숨겨진 열의 가시성 상태  |  범위 및 열 비교 ...
특색 지어진 특징: 그리드 포커스   |  디자인보기   |   큰 수식 바    통합 문서 및 시트 관리자   |  자료실 (자동 텍스트)   |  날짜 선택기   |  워크 시트 결합   |  셀 암호화/해독    목록으로 이메일 보내기   |  슈퍼 필터   |   특수 필터 (굵게/기울임꼴/취소선 필터링...) ...
상위 15개 도구 세트12 본문 도구 (텍스트 추가, 문자 제거,...)   |   50+ 거래차트 유형 (Gantt 차트,...)   |   40+ 실용 방식 (생일을 기준으로 나이 계산,...)   |   19 삽입 도구 (QR 코드 삽입, 경로에서 그림 삽입,...)   |   12 매출 상승 도구 (숫자를 단어로, 환율,...)   |   7 병합 및 분할 도구 (고급 결합 행, 셀 분할,...)   |   ... 그리고 더

Excel용 Kutools로 Excel 기술을 강화하고 이전과는 전혀 다른 효율성을 경험해 보세요. Excel용 Kutools는 생산성을 높이고 시간을 절약하기 위해 300개 이상의 고급 기능을 제공합니다.  가장 필요한 기능을 얻으려면 여기를 클릭하십시오...

상품 설명


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

  • Word, Excel, PowerPoint에서 탭 편집 및 읽기 사용, Publisher, Access, Visio 및 Project.
  • 새 창이 아닌 동일한 창의 새 탭에서 여러 문서를 열고 만듭니다.
  • 생산성을 50% 높이고 매일 수백 번의 마우스 클릭을 줄입니다!
Comments (128)
Rated 4.5 out of 5 · 1 ratings
This comment was minimized by the moderator on the site
Hi! I followed the procedure on MAC with all the windows apps correctly installed. However the outlook doesn't open even though I changed the dates for test. Should I close and then open outlook and the worksheet to trigger opening outlook with the desired message?

Many thanks!

Lukas
This comment was minimized by the moderator on the site
Anyone can help me, I have come a long way with this topic, but I am running into 1 problem. In cell J:Y, a formula produces a value for how long the project will last. This changes every day because the deadline is getting closer and closer. Now I want him to automatically send me an email when there are 14 days left. This works if I simply enter 14 here myself, but not if there is a formula in it. Who can help me to automatically recognize that the 14-day period has been reached based on the formula?
This comment was minimized by the moderator on the site
I want to apply this macro to different sheets in my workbook, but each sheet is different. Adding a second module means the first one no longer works.

Could you advise me please?
This comment was minimized by the moderator on the site
Hi Annie,

The code can be applied to different worksheets, not just the current one. After running the code, select the desired worksheet tab and then the cell range.
This comment was minimized by the moderator on the site
Olá, eu trabalho com calibrações de equipamentos controlados pelo inmetro, eu fiz uma planilha com a data de vencimento da calibração de cada equipamento, é possível quando a data estiver chegando próximo ao vencimento tipo uns 30 dias, o excel enviar um email automático para que eu possa lembrar?
This comment was minimized by the moderator on the site
Bonjour , je suis nouveau sur VBA

Comment faire pour quand les dates change ?
This comment was minimized by the moderator on the site
Hi theo charvet,

Sorry I don't quite understand your question. For clarity, please attach a screenshot with your data and desired results.
There are no comments posted here yet
Load More
Leave your comments
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations