#excel #vba
Вопрос:
Мне нужна ваша помощь, у меня есть код VBA, с помощью которого я отправляю письма с определенным текстом строки, теперь мне нужен этот код для вставки определенного диапазона(B2:F13) с листа «ОСНОВНОЙ» в текст письма с его форматом. какие изменения мне нужно сделать, чтобы этот диапазон вставки кода в тело, код:
Dim xRg As Range
'Update by Extendoffice 2018/3/7
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Cells.Count > 1 Then Exit Sub
Set xRg = Intersect(Range("AD252"), Target)
If xRg Is Nothing Then Exit Sub
If IsNumeric(Target.Value) And Target.Value > 200 Then
Call Mail_small_Text_Outlook
End If
End Sub
Sub Mail_small_Text_Outlook()
Dim xOutApp As Object
Dim xOutMail As Object
Dim xMailBody As String
Set xOutApp = CreateObject("Outlook.Application")
Set xOutMail = xOutApp.CreateItem(0)
xMailBody = "Average sales per store:" amp; vbNewLine amp; vbNewLine amp; _
"" amp; vbNewLine amp; _
"SPAR:" amp; vbNewLine amp; _
"" amp; vbNewLine amp; _
Range("AI306").Value amp; vbNewLine amp; _
"" amp; vbNewLine amp; _
"Franchise:" amp; vbNewLine amp; _
"" amp; vbNewLine amp; _
Range("AI307").Value amp; vbNewLine amp; _
"" amp; vbNewLine amp; _
"Daily(SPAR):" amp; vbNewLine amp; _
"" amp; vbNewLine amp; _
Range("AI308").Value amp; vbNewLine amp; _
"" amp; vbNewLine amp; _
"Daily(ALL):" amp; vbNewLine amp; _
"" amp; vbNewLine amp; _
Range("AI309").Value
On Error Resume Next
With xOutMail
.To = Range("BX8").Value amp; Range("BX9").Value amp; Range("BX10").Value amp; Range("BX11").Value amp; Range("BX12").Value amp; Range("BX13").Value amp; Range("BX14").Value amp; Range("BX15").Value amp; Range("BX16").Value amp; Range("BX17").Value amp; Range("BX18").Value amp; Range("BX19").Value amp; Range("BX20").Value amp; Range("BX21").Value
.CC = ""
.BCC = Range("BX30").Value
.Subject = Range("AG477").Value
.Body = xMailBody
.Display 'or use .Send
.attachments.Add ("EXCEL FILE")
End With
On Error GoTo 0
Set xOutMail = Nothing
Set xOutApp = Nothing
End Sub
Комментарии:
1. каждый раз, когда я пытаюсь добавить новую строку или сделать это без новой строки, как это xMailBody =листы(«ОСНОВНЫЕ»). Диапазон(«B2:F13»). Значение я получаю ошибку несоответствия типа. есть идеи, как я могу это решить ?