2014-11-20 66 views
0

我遇到此編碼問題。我想它的代碼,這樣的郵件將自動發送當進入在某個表上列B中的日期VBA在單元格日期輸入更改時發送電子郵件

基本上什麼事情發生的是,員工將獲得新的日常任務。日期會根據輸入的日期更改。

我會喜歡它,如果代碼將承認已輸入當前日期和發送電子郵件給特定員工。這裏有一個示例代碼,但它只設置爲數值,我不知道如何更改它。請幫忙!

此代碼位於特定工作表中。

Private Sub Worksheet_Change(ByVal Target As Range) 
    If Target.Cells.count > 1 Then Exit Sub 
    If Not Application.Intersect(Range("A:A"), Target) Is Nothing Then 
     If IsNumeric(Target.Value) And Target.Value >= 1 Then 
      Call Send_Email 
     End If 
    End If 
End Sub 

這一代碼進入模塊

Sub Send_Email() 
     Dim OutApp As Object 
     Dim OutMail As Object 
     Dim strbody As String 

    Set OutApp = CreateObject("Outlook.Application") 
    Set OutMail = OutApp.CreateItem(0) 

    strbody = "Hi All" & vbNewLine & vbNewLine & _ 
       "You may have new cases." & vbNewLine & _ 
       "Please review and disposition them." & vbNewLine & _ 
       "Thank you" 

    On Error Resume Next 
    With OutMail 
     .To = "Calheers Unit" 
     .CC = "" 
     .BCC = "" 
     .Subject = "New Case Assignments" 
     .Body = strbody 
     .Send 
    End With 
    On Error GoTo 0 

    Set OutMail = Nothing 
    Set OutApp = Nothing 
End Sub 
+0

日期會根據輸入的日期而改變是什麼意思?我們如何找到正確的員工發送電子郵件? – cronos2546 2014-11-20 23:50:51

回答

0

如果您要檢查如果今天輸入的日期只是檢查是否target.value等於日期英寸日期代表VBA今天的日期一樣= TODAY()在Excel中。

Private Sub Worksheet_Change(ByVal Target As Range) 
    If Target.Cells.Count > 1 Then Exit Sub 
    If Target.Column = 2 Then    'If target is in column B 
     If Target.Value = Date Then   'If the target value is today 
      Call Send_Email 
     End If 
    End If 
End Sub 
+0

是的,這完美地工作!非常感謝! – Lillian 2014-11-21 17:05:50

相關問題