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错误描述为“”
端接头

当您第一次运行它时,我假设您通过执行某些操作使程序运行。如果要在更改单元格中的值时运行,则需要使用该更改“触发”要运行的过程。研究工作表的“更改事件”。当我第一次运行时,它会为满足条件的所有情况发送提醒。在我输入了新值以及之前收到电子邮件的确切日期后,如果不再运行,它不会发送电子邮件。我想自动进行此更新,因为否则将不值得。您需要像我前面所说的那样研究事件。特别是那些与工作表相关联的,当“发生”某件事时就会触发的。我会让你开始:。。。当有人建议你做一些研究时,你应该做得很好。当做