Суть:
В Visual Basic Editor пишу свою функцию, которая на вход должна принимать матрицу (в математическом смысле этого слова) или объект типа Range (в терминах Excel).
В функции должна быть проверка на вшивость, что пользователь не подсунул функции в качестве аргумента скажем просто набор ячеек, не образующих матрицу.
На пробу я решила реализовать эту проверку следующим образом: написала в Visual Basic Editor такую простенькую функцию:
- Код: Выделить всё
Function test(R As Range)
Range("A1").Value = R.Areas.Count
End Function
далее задала несколько численных матриц (D7:E9, F10, G10:H11, I10, J15) в текущем Worksheet, вызвала функцию test (она появилась в списке функций, определенных пользователем), задала в качестве аргумента объединение этих матриц (при помощи выделения курсором с Ctrl) и ожидала в ячейке A1 увидеть количество этих матриц.
Однако, в ячейке A1 стоит формула
=test(D7:E9;F10;G10:H11;I10;J15), результат которой не определен.
Вопрос1.
Почему результат формулы не определен? Может я не правильно решаю поставленную задачу?
Спасибо большое за советы.