簡體   English   中英

庫存電子表格 - 當單元格值 =“過期”時發送電子郵件並使用表格中的信息填充電子郵件

[英]Inventory Spreadsheet - Send email when cell value = "Expired" and populate email with info from table

更新

我重新編寫了我的代碼,如下所示:

Private Sub Worksheet_Change(ByVal Target As Range)
    Call notify
End Sub

Sub notify()
    Dim rng As Range
    For Each rng In Range("N2:N502")
       If (rng.Value = "Expired") Then
           Call mymacro(rng.Address)
       End If
    Next rng
End Sub
Private Sub mymacro(theValue As String)
    Dim xOutApp As Object
    Dim xOutMail As Object
    Dim xMailBody As String
    Dim myAddress As String
    Dim myChemical As String
    myAddress = Application.WorksheetFunction.Index(Range("A2:Q502"), Application.WorksheetFunction.Match("Expired", Range("N2:N502"), 0), 15)
    myChemical = Application.WorksheetFunction.Index(Range("A2:Q502"), Application.WorksheetFunction.Match("Expired", Range("N2:N502"), 0), 3)
    Set xOutApp = CreateObject("Outlook.Application")
    Set xOutMail = xOutApp.CreateItem(0)
    xMailBody = "Hello" & vbNewLine & vbNewLine & _
              "This email is to let you know that you have an expired reference standard" & vbNewLine & _
              "The Reference Standard that has expired is: " & myChemical & vbNewLine & vbNewLine & _
              "Thank you," & vbNewLine & _
              "Spreadsheet Manager"
    On Error Resume Next
    With xOutMail
        .To = myAddress
        .CC = ""
        .BCC = ""
        .Subject = "Expired Reference Standard"
        .Body = xMailBody
        .Display   'or use .Send
    End With
    On Error GoTo 0
    Set xOutMail = Nothing
    Set xOutApp = Nothing
End Sub

這個新代碼現在用正確的字段填充電子郵件,但它卡在第 N 列中等於“過期”的第一個條目上。它知道有多個“過期”實例,因為當我將消息中的myChemical更改為theValue多個電子郵件填充不同的單元格值。 有沒有辦法修復代碼以避免這個錯誤,或者我是否必須在代碼中添加一個 For-Next 語句?

這是一個雄心勃勃的項目。 如果代碼是從 Worksheet_Change 事件觸發的,則不需要連續運行代碼。 您可以使用該事件“監視”特定行、列或范圍的內容,並在用戶更改監視范圍內的單元格時運行代碼。 https://docs.microsoft.com/en-us/office/vba/api/excel.worksheet.change

Worksheet_Change 事件在 Sheet 模塊中運行,並使用“目標”范圍的概念,即觸發宏運行的范圍或單元格。 如果它是單個單元格,您現在擁有該單元格的地址,您可以從那里推斷行號並獲取該行中的其他數據,或與該單元格相關的數據,具體取決於您的工作表布局。

您現在可以使用所需的詳細信息構建正文。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM