Мне нужно определить изменения, внесенные в электронную таблицу Excel, и отправить эти изменения по электронной почте в другую группу.У меня очень мало опыта в VBA.У меня есть электронная таблица, которая может отправлять электронную почту после внесения изменений, но я хочу добавить в текст сообщения эти изменения.Спасибо!
Отправка электронной почты - это Workbook_BeforeClose
событие
Sub SendEmail()
Dim myMsg As Object
Set myMsg = CreateObject("CDO.Message")
Dim conadd As String
conadd = "http://schemas.microsoft.com/cdo/configuration/"
Dim strSender As String, strLocation As String
'Send mail
With myMsg
.To = "**********.com"
.FROM = "**********.com"
.Subject = "CWPL Has Been Updated"
.TextBody = "Please check the CWPL to identify the update and if it currently applies to us."
With .Configuration.Fields
.Item(conadd & "sendusing") = 2
.Item(conadd & "smtpserver") = "**********.com"
.Item(conadd & "smtpserverport") = 25
.Update
End With
.Send
End With
ExitFunc:
Set myMsg = Nothing
Exit Sub
Err:
MsgBox "There was a problem sending the CWPL Update message to Fusion Group", vbInformation, "CWPL Update Message Complete"
GoTo ExitFunc
End Sub
Добавлен Debug.Print "Новые значения" & target.Address (0, 0). Значение, но я получаю компиляциюошибка: недопустимый квалификатор. Адрес является виновником ....
Также - вот код Worksheet_Change
Private Sub Worksheet_Change(ByVal target As Range)
Dim KeyCells As Range
Set KeyCells = Range("A1:D1000")
If Not Application.Intersect(KeyCells, Range(target.Address)) _
Is Nothing Then
Debug.Print "Cells that changed: " & target.Address(0, 0), _
End If
End Sub