如果行满足条件,则将表中的行复制到电子邮件中

Copy rows from table into email if the rows meet condition

提问人:breelogna 提问时间:8/4/2023 最后编辑:Communitybreelogna 更新时间:8/24/2023 访问量:42

问:

我有一个电子表格,用于跟踪不同许可证的到期日期。它在 sheet1 中有一个表,在 sheet2 中有四个表。

打开工作簿时,我会自动发送电子邮件。使用计算机的 shell:startup,当我早上打开计算机时,它会打开。该代码将 Excel 电子表格附加到电子邮件中。

Private Sub Workbook_Open()

    Dim emailApplication As Object
    Dim emailItem As Object

    Set emailApplication = CreateObject("Outlook.Application")
    Set emailItem = emailApplication.CreateItem(0)

    emailItem.to = "[email protected]"
    emailItem.Subject = "Please Review; Upcoming Expiration Dates"
    emailItem.Body = "Please review the attached spreadsheet as it may have dates that are expired/soon to be expired. Please note there are multiple sheets."

    emailItem.Attachments.Add ActiveWorkbook.FullName
    emailItem.Display

    MsgBox "Your email has been sent.", vbInformation

End Sub

我想复制显示“在 30 天内过期”或“已过期”的行,并将其以表格格式粘贴到电子邮件正文中。
例如,当列 G2 声明“EXPIRED”或“Expires w/in 30 days”时,返回整个 B2:G2。

我无法分享表格内容,所以我自己制作了。
enter image description here

enter image description here

我尝试过什么:我从 Ron de Bruin 和其他论坛复制并编辑了多行不同的代码,以将整个表格粘贴为图像(但我无法从多个工作表中获取多个表格,只能获得一个表格)。
我已经运行了返回 TRUE 或 FALSE 甚至 1 或 -1 的代码,以及以段落形式为我提供表格内容的代码。

例如,我知道有变通方法;将多个工作表中的条件行粘贴到在代码末尾被终止的虚拟工作表。我可以把它贴在身体里。
或者,也许从每个工作表生成多个表格图片。我可以为每张纸发送一封电子邮件。

Excel VBA 电子邮件 条件语句

评论

0赞 XLmatters 8/4/2023
我发现自动过滤器和方法稳定高效。.SpecialCells(xlCellTypeVisible).Copy

答: 暂无答案