Я хочу получить значения ячеек из определенных ячеек в той же строке, что и мой макрос.
Мне удалось собратьмакрос, который находит значение ячейки из определенных ячеек в зависимости от того, какое значение имеют ячейки запуска. Приведенный ниже код сообщает макросу, что если значение ячейки ячейки B5 равно 1, скопируйте текст в A8, A5 и A2 в определенные области текста письма. Все ZZZZZ это заранее заданные фразы по почте.
Что я хочу, так это то, что если я введу 1 в любую строку в столбце K, он возьмет значение ячейки из столбцов C, F и G в той же строке, что и 1, и поместит егогде A8, A5 и A2 вставляется в почту. Если бы я положил 2 в B5, макрос выбирает A9 вместо A8. Но этот код не вставлен ниже, но идентичен. Я хочу, чтобы код был несколько похож, но знаю, что писать вместо B5, A8 и т. Д.
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
'If Target.Cells.Count > 1 Then Exit Sub
Set xRg = Intersect(Range("B5"), Target)
If xRg Is Nothing Then Exit Sub
If IsNumeric(Target.Value) And Target.Value = 1 Then
Call Mail_small_Text_Outlook1
End If
__________________________________________________________________________
Sub Mail_small_Text_Outlook1()
Dim xOutApp As Object
Dim xOutMail As Object
Dim xMailBody As String
Set xOutApp = CreateObject("Outlook.Application")
Set xOutMail = xOutApp.CreateItem(0)
xMailBody = "ZZZZZZZZZ," & vbNewLine & vbNewLine & _
"ZZZZZZZZZZZZZZZZZZ: " & Range("A8").Value & vbNewLine & _
" " & vbNewLine & _
"ZZZZZZZZZZ: " & Range("A5").Value & vbNewLine & vbNewLine & vbNewLine & _
"ZZZZZZZZZ" & vbNewLine & _
"ZZZZZZZZZ"
On Error Resume Next
With xOutMail
.To = "mail@mail.com"
.CC = ""
.BCC = ""
.Subject = "ZZZZZ - " & Range("A2").Value
.Body = xMailBody
.Display 'or use .Send
End With
On Error GoTo 0
Set xOutMail = Nothing
Set xOutApp = Nothing
End Sub