จะส่งอีเมลได้อย่างไรหากตรงตามวันที่ครบกำหนดใน 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
เครื่องมือเพิ่มประสิทธิภาพการทำงานในสำนักงานที่ดีที่สุด
Kutools สำหรับ Excel แก้ปัญหาส่วนใหญ่ของคุณและเพิ่มผลผลิตของคุณได้ถึง 80%
- นำมาใช้ใหม่: ใส่อย่างรวดเร็ว สูตรที่ซับซ้อนแผนภูมิ และสิ่งที่คุณเคยใช้มาก่อน เข้ารหัสเซลล์ ด้วยรหัสผ่าน; สร้างรายชื่อผู้รับจดหมาย และส่งอีเมล ...
- ซุปเปอร์ฟอร์มูล่าบาร์ (แก้ไขข้อความและสูตรหลายบรรทัดได้อย่างง่ายดาย); การอ่านเค้าโครง (อ่านและแก้ไขเซลล์จำนวนมากได้อย่างง่ายดาย); วางลงในช่วงที่กรองแล้ว...
- ผสานเซลล์ / แถว / คอลัมน์ โดยไม่สูญเสียข้อมูล แยกเนื้อหาของเซลล์ รวมแถว / คอลัมน์ที่ซ้ำกัน... ป้องกันเซลล์ซ้ำ; เปรียบเทียบช่วง...
- เลือกซ้ำหรือไม่ซ้ำ แถว; เลือกแถวว่าง (เซลล์ทั้งหมดว่างเปล่า); Super Find และ Fuzzy Find ในสมุดงานจำนวนมาก สุ่มเลือก ...
- สำเนาถูกต้อง หลายเซลล์โดยไม่เปลี่ยนการอ้างอิงสูตร สร้างการอ้างอิงอัตโนมัติ ถึงหลายแผ่น ใส่สัญลักษณ์แสดงหัวข้อย่อย, กล่องกาเครื่องหมายและอื่น ๆ ...
- แยกข้อความ, เพิ่มข้อความ, ลบตามตำแหน่ง, ลบ Space; สร้างและพิมพ์ผลรวมย่อยของเพจ แปลงระหว่างเนื้อหาของเซลล์และความคิดเห็น...
- ซุปเปอร์ฟิลเตอร์ (บันทึกและใช้โครงร่างตัวกรองกับแผ่นงานอื่น ๆ ); การเรียงลำดับขั้นสูง ตามเดือน / สัปดาห์ / วันความถี่และอื่น ๆ ตัวกรองพิเศษ โดยตัวหนาตัวเอียง ...
- รวมสมุดงานและแผ่นงาน; ผสานตารางตามคอลัมน์สำคัญ แยกข้อมูลออกเป็นหลายแผ่น; Batch แปลง xls, xlsx และ PDF...
- คุณสมบัติที่ทรงพลังมากกว่า 300 รายการ. รองรับ Office/Excel 2007-2021 และ 365 รองรับทุกภาษา ง่ายต่อการปรับใช้ในองค์กรหรือองค์กรของคุณ คุณสมบัติเต็มรูปแบบ ทดลองใช้ฟรี 30 วัน รับประกันคืนเงินภายใน 60 วัน

แท็บ Office นำอินเทอร์เฟซแบบแท็บมาที่ Office และทำให้งานของคุณง่ายขึ้นมาก
- เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
- เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
- เพิ่มประสิทธิภาพการทำงานของคุณ 50% และลดการคลิกเมาส์หลายร้อยครั้งให้คุณทุกวัน!












































