Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel宏-自动电子邮件_Excel_Vba_Email - Fatal编程技术网

Excel宏-自动电子邮件

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

我正在excel中设置一个宏,以便在更新单元格时自动发送电子邮件。是否可以在电子邮件正文中包含单元格的内容?例如,如果单元格G7已更新,是否在电子邮件中包含单元格B7内容?单元格行将相同,列将更改

这是我正在使用的代码:

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
,效果非常好!!!!!