Результат выполнения программы:
Эту же задачу можно решить несколько иным способом:
Sub primer_6()
Dim a() As Integer
Dim m As Long
m = InputBox ("Введите целое положительное число m>>1")
Dim p As Double, n As Integer, s As Integer, i As Integer
'заполнение динамического массива
ReDim a(1)
n = 1: a(n) = 1: p = 1
Do While p <= m
n = n + 1
ReDim Preserve a(n)
a(n) = a(n - 1) + 2
p = p * a(n)
Loop
'отсечение последнего элемента массива
'т.к. сначала ищется произведение, затем сравнивается с m
'затем происходит выход из цикла
ReDim Preserve a(n - 1)
'печать массива
For i = 1 To n - 1
Cells (1, i) = a(i)
Next i
'поиск суммы и произведения элементов массива
p = 1: s = 0
For i = 1 To n - 1
p = p * a(i)
s = s + a(i)
Next i
Cells (2, 1) = "Сумма элементов = " & s
Cells (3, 1) = "Произведение элементов = " & p
Cells (4, 1) = "Количество элементов = " & n - 1