查找多列的匹配单元格值并发送有关匹配信息的邮件

Finding Matched Cell Values of Multiple Columns and Sending Mail about Matched Info

我有一个 Excel 文件,其中包含如下不同的列(姓名、角色、电子邮件)。我想搜索重复多次的角色(来自角色列),并显示相应的值(来自名称列)。最后,应将有关角色信息的邮件发送到相应的邮件 ID(在电子邮件列中提到)。同样需要 VBScript 方法。

姓名 角色 电子邮件
Ram(z123)MC_PLM_Team 架构师 (TA),MC_PLM_Software 开发人员 Sh.ram@abc.com
Shm(Z003)MC_PLM_Chief 产品负责人 (CPO) Gh.sham@xyz.com
Arn(z789)MC_SW Developer/Designer ES/HMI/NET Kh.arun@wxy.com
Ach(z234)MC_PLM_Team 架构师 (TA),MC_PLM_Software 开发人员 Ch.Achal@klm.com

感谢您的意见。是的,我花了一些时间快速了解 VB 内部结构。写了脚本,满足了我的要求。这是我的第一个脚本版本,会进一步完善

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

    intRows = Application.ActiveSheet.UsedRange.Rows.Count
    intCols = Application.ActiveSheet.UsedRange.Columns.Count

    For i = 12 To intRows
     resName = Application.ActiveSheet.Cells(i, 3).Value
     primRole = Application.ActiveSheet.Cells(i, 31).Value
     emailID = Application.ActiveSheet.Cells(i, 49).Value

     If resName <> "" Then
        MsgBox resName & vbNewLine & primRole & vbNewLine & emailID
     End If

    Next

    Set outApp = CreateObject("Outlook.Application")
    Set outMail = outApp.CreateItem(0)

    strBody = "Dear XYZ" & vbNewLine & "email from outlook" & vbNewLine & "Best Regards," & vbNewLine & "XYZ"
'   
    outMail.To = "sh.ram@abc.com"
    outMail.CC = ""
    outMail.BCC = ""
    outMail.Subject = "Subject Test VBA"
    outMail.Body = strBody
    outMail.Send

    Set outMail = Nothing
    Set outApp = Nothing


End Sub