我完全陷入困境,想知道是否有人可以提供帮助,请以我在VBA上完整的Noobness露面。
我有一个共享的电子表格,我的团队使用该电子表格来跟踪需要重新扫描的文档的任务。请查看屏幕截图。
我在工作表上有代码,当业务代表在A列中输入值时,该代码会自动更改“ M”列。
B列(隐藏)具有一个Vlookup,它使用另一张纸上的数组作为A列电子邮件地址中的代理。
我做了一些研究,并试图创建一个代码,该代码将在M列中搜索任何未完成/未采取行动的工作“否”,并自动向代理发送电子邮件提醒,并在A列和同一行的B(还包括标题编号)
但是我只是无法使代码正常工作。
有什么想法或建议让我错了吗?
Dim OutApp As Object
Dim OutMail As Object
Dim cell As Range
Application.ScreenUpdating = False
Set OutApp = CreateObject("Outlook.Application")
On Error GoTo cleanup
For Each cell In Columns("M").Cells.SpecialCells(xlCellTypeConstants)
If LCase(Cells(cell.Row, "M").Value) = "No" Then
Set OutMail = OutApp.CreateItem(0)
On Error Resume Next
With OutMail
.To = cell.Value
.Subject = "Re-Scan Reminder"
.Body = "Dear " & Cells(cell.Row, "A").Value _
& vbNewLine & vbNewLine & _
"You still have outstanding work on the Rescan Spreadsheet " & _
" Title number: " & Cells(cell.Row, "E").Value _
.Display
End With
On Error GoTo 0
Set OutMail = Nothing
End If
Next cell
cleanup:
Set OutApp = Nothing
Application.ScreenUpdating = True
End Sub