我正在尝试更新excel工作表以向某些人发送提醒。这张excel表有一个人员名单,以及他们何时被认证使用某些设备。以前,当他们的认证即将到期或已经到期时,必须手动通知他们。我已经设置了工作表,以便它自动计算自他们获得认证以来已经过了多少天,以及在他们必须重新认证之前有多少天。我正在尝试做的是做一个脚本,它可以读取这个人在重新认证之前有多少天的专栏,如果它少于,比如说,30天,那么脚本将自动发送电子邮件。
我已经遵循了一个关于如何构建发送电子邮件的脚本的教程,但它将它们发送给所有列出的内容。我试图修改它来检查“F”列,其中“自认证以来的天数”,并只将其发送给那些小于或等于30的人,但我承认我甚至在基本编码方面都超出了我的深度。这是我的尝试,没有工作。我已经加粗了我放进去的部分,其他的都是我按照教程编写的代码,效果很好。当我试着运行这个时,它说“下一个没有For的编译错误”。不太确定我会怎么做。
Sub CreateCourseCertificates()
Dim EApp As Object
Set EApp = CreateObject("Outlook.Application")
Dim EItem As Object
Dim RList As Range
Set RList = Range("A2", Range("a2").End(xlDown))
Dim R As Range
Dim daysSinceCert As Range
Set daysSinceCert = Range("F2", Range("f2").End(xlDown))
For Each R In RList
If daysSinceCert <= 30 Then
Set EItem = EApp.CreateItem(0)
With EItem
.To = R.Offset(0, 2)
.Subject = "Test"
.Body = "Test"
.Display
End With
Next R
Set EApp = Nothing
Set EItem = Nothing
End Sub
谢谢你。
1条答案
按热度按时间92dk7w1h1#
移除
而是使用
Offset
在循环时引用F列中的相应单元格: