Excel宏-自动电子邮件
我正在excel中设置一个宏,以便在更新单元格时自动发送电子邮件。是否可以在电子邮件正文中包含单元格的内容?例如,如果单元格G7已更新,是否在电子邮件中包含单元格B7内容?单元格行将相同,列将更改 这是我正在使用的代码:Excel宏-自动电子邮件,excel,vba,email,Excel,Vba,Email,我正在excel中设置一个宏,以便在更新单元格时自动发送电子邮件。是否可以在电子邮件正文中包含单元格的内容?例如,如果单元格G7已更新,是否在电子邮件中包含单元格B7内容?单元格行将相同,列将更改 这是我正在使用的代码: Private Sub Worksheet_Change(ByVal Target As Range) Dim xRgSel As Range Dim xOutApp As Object Dim xMailItem As Object Dim x
Private Sub Worksheet_Change(ByVal Target As Range)
Dim xRgSel As Range
Dim xOutApp As Object
Dim xMailItem As Object
Dim xMailBody As String
On Error Resume Next
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set xRg = Range("G2:G17")
Set xRgSel = Intersect(Target, xRg)
ActiveWorkbook.Save
If Not xRgSel Is Nothing Then
Set xOutApp = CreateObject("Outlook.Application")
Set xMailItem = xOutApp.CreateItem(0)
xMailBody = "Hello," & vbCrLf & vbCrLf & "The worksheet " & Chr(34) & ActiveWorkbook.Sheets(3).Name & Chr(34) & "has been completed and ready for 1st level review."
With xMailItem
.To = ""
.Subject = ""
.Body = xMailBody
.Display
End With
Set xRgSel = Nothing
Set xOutApp = Nothing
Set xMailItem = Nothing
End If
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
宏运行得很好,但我想去掉工作表名称,而是在单元格B2中显示消息(如果单元格G2已更新)。仅结束此问题:您可以使用
Target.row
获取行
因此,按照您的示例,您可以使用
Me.Cells(Target.Row, 2)
或许
Me.Range("B" & Target.Row)
您可以使用
Me.Cells(Target.Row,2)
或Me.Range(“B”&Target.Row)
。谢谢!:)来参考B2
,效果非常好!!!!!