Надо реализовать ф-цию, возвращающую результат умножения всех чётных чисел прописанных во входном векторе функ - VBA

Формулировка задачи:

Написал набросок, но код не пашет(. Пишет, что ошибка в 7 строке, но я не знаю как её исправить.
Public Function chetniysum(Massiv As Range)
Dim i As Integer, Count As Integer
Count = 1
arr = Massiv.Value
For i = LBound(arr, 1) To UBound(arr, 1)
  For j = LBound(arr, 2) To UBound(arr, 2)
   if val(arr(i,j)) % 2 == 0 Then Count = Count * val(arr(i,j))
  Next j
 Next i
chetniysum Count
End Function

Код к задаче: «Надо реализовать ф-цию, возвращающую результат умножения всех чётных чисел прописанных во входном векторе функ - VBA»

textual
Public Function chetniysum(Massiv As Range)
Dim s, arr()
arr = Massiv.Value
For Each s In arr
  If IsNumeric(s) Then 'проверяем евляется ли числом
     If s > 0 Then chetniysum = IIf(chetniysum, chetniysum, 1) * s
  End If
Next
chetniysum = IIf(chetniysum, chetniysum, "-")
End Function

14   голосов, оценка 4.000 из 5


СОХРАНИТЬ ССЫЛКУ