【发布时间】:2018-12-04 12:17:18
【问题描述】:
如何添加在输入日期时自动运行的代码。如果代码包含其他单元格 - 是否需要先填充它们。这个想法是输入今天的日期并发送电子邮件。代码电子邮件有效,但我需要代码自动运行。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If IsDate(Range("A1").Value) Then
'MsgBox "Plase enter a date in A1"
'response = MsgBox(msg, vbYesNo)
'If response = vbYes Then
email
Else
End If
'End If
End Sub
Sub email()
Dim r As Range
Dim cell As Range
Set r = Range("A1:S20")
For Each cell In r
If cell.Value = Date 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 = Cells(cell.Row, "C").Value
Email_Send_From = "Jean@test.com"
Email_Send_To = "Joe@test.com"
Email_Cc = ""
Email_Bcc = ""
Email_Body = "Hi " & Cells(cell.Row, "c").Value _
& vbNewLine & vbNewLine & _
Cells(cell.Row, "D").Value & _
" has been submited"
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
【问题讨论】: