После полудня,
У меня есть событие изменения рабочего листа, код которого приведен ниже:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("K6:K50")) Is Nothing Then
If IsDate(Target) Then
MsgBox "You have entered a date in Attempt 5, you must now send an email to request a text message chaser, click ok to open the email to be sent", vbOKOnly, "Warning"
Send_Emails
End If
End If
End Sub
Sub Send_Emails()
'This code is early binding i.e in Tools > Reference >You have check "MICROSOFT OUTLOOK 14.0 OBJECT LIBRARY"
Dim OutlookApp As Outlook.Application
Dim OutlookMail As Outlook.MailItem
Set OutlookApp = New Outlook.Application
Set OutlookMail = OutlookApp.CreateItem(olMailItem)
With OutlookMail
.BodyFormat = olFormatHTML
.Display
.HTMLBody = "<BODY style=font-size:11pt;font-family:Arial>Hi, <br> <br> Can a new text chaser be sent to the client of this file please? <br> <br> <br> <br> Thank you </BODY>" & .HTMLBody
'last .HTMLBody includes signature from the outlook.
'<br> includes line breaks b/w two lines
.To = "xxx"
.CC = "xxx"
.Subject = "New Text Message chaser request"
.Display
End With
End Sub
Это событие ищет дату в заданном диапазоне, а затем создает всплывающее окно, а затем, когда Ok нажимается, появляется сообщение электронной почты. Это отлично работает.
Теперь у меня есть следующий код:
Private Sub Worksheet_Selection_Change(ByVal Target As Range)
If Target.Column = 24 Then
Target.Offset(1, -19).Select
End If
End Sub
Этот код из того, что я понимаю, должен активироваться, когда нажата клавиша enter в ячейке столбца X, а затем перейти к следующей пустой ячейке. в столбце E готов для ввода данных. Мне сказали, что вы не можете иметь более одного события worksheet_change на рабочем листе, есть ли способ заставить их обоих работать с одним листом, но не привязанными друг к другу, т.е. я хочу, чтобы они оба запускались независимо друг от друга.
Если это не может быть сделано, может ли кто-нибудь помочь мне выяснить, как go из ячейки в столбце X в следующую пустую ячейку в столбце E готово для следующей строки ввода данных?
Спасибо