จะส่งอีเมลได้อย่างไรหากตรงตามวันที่ครบกำหนดใน Excel
ดังที่แสดงในภาพหน้าจอด้านล่าง หากวันครบกำหนดในคอลัมน์ 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 และ CDate (xRgDateVal) - วันที่> 0 จากนั้นในรหัส VBA หมายความว่าวันครบกำหนดต้องมากกว่า 1 วันและน้อยกว่าหรือเท่ากับ 7 วัน คุณสามารถเปลี่ยนได้ตามต้องการ
3 กด ปุ่ม F5 เพื่อเรียกใช้รหัส ในครั้งแรกที่โผล่ขึ้นมา Kutools สำหรับ Excel โปรดเลือกช่วงคอลัมน์วันที่ครบกำหนดจากนั้นคลิกที่ OK ปุ่ม. ดูภาพหน้าจอ:
4. จากนั้นครั้งที่สอง Kutools สำหรับ Excel กล่องโต้ตอบจะปรากฏขึ้นโปรดเลือกช่วงคอลัมน์ที่เกี่ยวข้องซึ่งมีที่อยู่อีเมลของผู้รับแล้วคลิก OK ปุ่ม. ดูภาพหน้าจอ:
5. ในช่วงสุดท้าย Kutools สำหรับ Excel กล่องโต้ตอบเลือกเนื้อหาที่คุณต้องการแสดงในเนื้อหาอีเมลจากนั้นคลิกที่ไฟล์ OK ปุ่ม
จากนั้นอีเมลจะถูกสร้างขึ้นโดยอัตโนมัติพร้อมระบุผู้รับหัวเรื่องและเนื้อหาที่ระบุไว้หากวันครบกำหนดในคอลัมน์ C น้อยกว่าหรือเท่ากับ 7 วัน กรุณาคลิกที่ไฟล์ ส่ง ปุ่มเพื่อส่งอีเมล
หมายเหตุ / รายละเอียดเพิ่มเติม:
1. อีเมลที่สร้างขึ้นแต่ละฉบับจะตรงกับวันที่ครบกำหนด ตัวอย่างเช่นหากมีวันครบกำหนดสามวันตรงตามเกณฑ์ข้อความอีเมลสามข้อความจะถูกสร้างขึ้นโดยอัตโนมัติ
2. รหัสนี้จะไม่ถูกเรียกใช้หากไม่มีวันที่ที่ตรงตามเกณฑ์
3. รหัส VBA จะใช้งานได้ก็ต่อเมื่อคุณใช้ Outlook เป็นโปรแกรมอีเมลของคุณ
บทความที่เกี่ยวข้อง:
- วิธีส่งอีเมลโดยอัตโนมัติตามค่าเซลล์ใน Excel
- วิธีส่งอีเมลผ่าน Outlook เมื่อบันทึกสมุดงานใน Excel
- จะส่งอีเมลได้อย่างไรหากมีการแก้ไขเซลล์บางเซลล์ใน Excel
- จะส่งอีเมลได้อย่างไรหากคลิกปุ่มใน Excel
- วิธีส่งอีเมลเตือนความจำหรือการแจ้งเตือนหากมีการอัปเดตสมุดงานใน Excel
สุดยอดเครื่องมือเพิ่มผลผลิตในสำนักงาน
เพิ่มพูนทักษะ Excel ของคุณด้วย Kutools สำหรับ Excel และสัมผัสประสิทธิภาพอย่างที่ไม่เคยมีมาก่อน Kutools สำหรับ Excel เสนอคุณสมบัติขั้นสูงมากกว่า 300 รายการเพื่อเพิ่มประสิทธิภาพและประหยัดเวลา คลิกที่นี่เพื่อรับคุณสมบัติที่คุณต้องการมากที่สุด...
แท็บ Office นำอินเทอร์เฟซแบบแท็บมาที่ Office และทำให้งานของคุณง่ายขึ้นมาก
- เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
- เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
- เพิ่มประสิทธิภาพการทำงานของคุณ 50% และลดการคลิกเมาส์หลายร้อยครั้งให้คุณทุกวัน!