Я настраиваю макрос в 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 была обновлена.