Я совсем новичок в vba и надеялся, что смогу помочь.Мне нужно создать код, который генерирует электронную почту, которая зависит от листа Excel.В настоящее время мне удалось все, кроме следующего, на котором я застрял.Excel содержит список опций, назовем их a, b, c, d ... n.В теле письма я хотел бы сказать:
OPTION1 a
OPTION2 b
OPTION3 c
Поэтому мне нужен код, чтобы также определить номер опции (количество опций может измениться, иногда 8, иногда больше)и добавьте его рядом со словом вариант.Я думаю, что мне нужно было бы создать какой-то цикл, но на самом деле не знаю, как поступить.Любая помощь будет принята с благодарностью.
Это код с некоторой попыткой создания цикла.Когда я добавляю цикл, моя электронная почта возвращает пустое значение.
'Getting the xRg
On Error Resume Next
xAddress = ActiveWindow.RangeSelection.Address
Set FirstRange = Range("A12")
Set LastRange = FirstRange.End(xlDown)
Set xRg = Range(FirstRange, LastRange).SpecialCells(xlCellTypeVisible)
If xRg Is Nothing Then Exit Sub
Application.ScreenUpdating = False
Set xOutApp = CreateObject("Outlook.Application")
Set xMailOut = xOutApp.CreateItem(olMailItem)
For I = 1 To xRg.Rows.Count
For J = 1 To xRg.Columns.Count
xEmailBody = xEmailBody & " " & xRg.Cells(I, J).Value
Next
xEmailBody = xEmailBody & "<br/>"
Next
xEmailBody = vbLf & xEmailBody & "<br/>"
'Creating a loop for the legs
Dim a As integer
Dim option() As integer
For a = FirstRange To LastRange
ReDim Preserve leg(a)
option(a) = "leg" & a
Далее
это отредактированный код цикла, но он все еще не работает ..., пожалуйста, помогите
Dim leg(0 To 15) As Range
Dim a As Range
For a = FirstRange To LastRange
leg(a) = "Leg" & "[" & a & "]"
Next a
Я получаю несоответствие типов
, и это просто ничего не возвращает в электронном письме:
Dim leg() As Variant
leg() = Range(FirstRange, LastRange).Value
Dim a As Variant
For a = FirstRange To LastRange
leg(a) = "Leg" & "[" & a & "]"
Next a