Я создал пользовательскую функцию в VBA, входными данными для которой являются значение ячейки и три разных диапазона одинаковой длины. Код примерно такой, как показано ниже:
Public Function MYTEST(CELLVALUE As Double, ByRef INPRNG As Range, ByRef RNG1 As Range, ByRef RNG2 As Range)
Dim i As Double
DIM A As Double
DIM B As Double
Dim MODRNG As Range
For i = LBound(INPRNG) To UBound(INPRNG)
MODRNG(i) = INPRNG(i) * RNG1(i) + CELLVALUE * RNG2(i)
Next i
A= MODRNG.Cells(1,1)
B= MODRNG.Cells(2,1)
mytest =A+B
End Function
Я получаю #VALUE! ошибка при запуске этого кода. Мой вопрос состоит из трех частей:
- Мои переменные / диапазоны объявлены неправильно или For l oop вызывает проблемы?
- Есть ли способ использовать For Each l oop вместо For Next?
- Могу ли я выполнить операцию с массивом (для l oop) на моем листе Excel и отправить измененный массив в функцию?
Пожалуйста см. снимок для ясности.
Спасибо!