Excel中的VBA宏
我尝试使用以下代码提醒自己截止日期。在我运行后,它会向我发送所有情况下的电子邮件,当日期达到时,但当我放置另一个截止日期时,如果我不再次运行,它将不起作用。请我需要一些帮助Excel中的VBA宏,excel,vba,Excel,Vba,我尝试使用以下代码提醒自己截止日期。在我运行后,它会向我发送所有情况下的电子邮件,当日期达到时,但当我放置另一个截止日期时,如果我不再次运行,它将不起作用。请我需要一些帮助 Option Explicit Sub email() Dim r As Range Dim cell As Range Set r = Range("A361:A370") For Each cell In r If Date - cell.Value = 30 Th
Option Explicit
Sub email()
Dim r As Range
Dim cell As Range
Set r = Range("A361:A370")
For Each cell In r
If Date - cell.Value = 30 Then
Dim Email_Subject, Email_Send_From, Email_Send_To, _
Email_Cc, Email_Bcc, Email_Body As String
Dim Mail_Object, Mail_Single As Variant
Email_Subject = "Reminder"
Email_Send_From = "rdube02@gmail.com"
Email_Send_To = "rdube02@gmail.com"
Email_Cc = ""
Email_Bcc = ""
Email_Body = "Please remind "
On Error GoTo debugs
Set Mail_Object = CreateObject("Outlook.Application")
Set Mail_Single = Mail_Object.CreateItem(0)
With Mail_Single
.Subject = Email_Subject
.To = Email_Send_To
.cc = Email_Cc
.BCC = Email_Bcc
.Body = Email_Body
.send
End With
End If
Next
Exit Sub
debugs:
If Err.Description <> "" Then MsgBox Err.Description
End Sub
选项显式
子电子邮件()
调光范围
暗淡单元格作为范围
设置r=范围(“A361:A370”)
对于r中的每个单元格
如果日期-单元格值=30,则
Dim Email_主题、Email_Send_From、Email_Send_To、_
电子邮件抄送、电子邮件密件抄送、电子邮件正文为字符串
Dim Mail_对象,Mail_单个作为变量
电子邮件\u Subject=“提醒”
电子邮件\u发送\u发件人=”rdube02@gmail.com"
电子邮件发送至“rdube02@gmail.com"
电子邮件_Cc=“”
电子邮件_Bcc=“”
Email\u Body=“请提醒”
关于错误转到调试
设置Mail\u Object=CreateObject(“Outlook.Application”)
设置Mail\u Single=Mail\u Object.CreateItem(0)
单程邮寄
.Subject=电子邮件主题
.To=发送电子邮件至
.cc=电子邮件\u cc
.BCC=电子邮件\u BCC
.Body=电子邮件\正文
.发送
以
如果结束
下一个
出口接头
调试:
如果错误描述为“”,则MsgBox错误描述为“”
端接头
当您第一次运行它时,我假设您通过执行某些操作使程序运行。如果要在更改单元格中的值时运行,则需要使用该更改“触发”要运行的过程。研究工作表的“更改事件”。当我第一次运行时,它会为满足条件的所有情况发送提醒。在我输入了新值以及之前收到电子邮件的确切日期后,如果不再运行,它不会发送电子邮件。我想自动进行此更新,因为否则将不值得。您需要像我前面所说的那样研究事件。特别是那些与工作表相关联的,当“发生”某件事时就会触发的。我会让你开始:。。。当有人建议你做一些研究时,你应该做得很好。当做